jQueryTips by Tee++;

  • Home
  • Videos
  • jQueryTips's Fans

Coding like playing a piano.

Subscribe RSS

Search

Search

Sponsored

jQueryTips on Social

Followers

hide
Chainnnn Pang25441 Dexteri@n Ton KanexKane Supachai JustDoIt Rut petchy Tophit anndrew Webmaster

Categories

hide
  • Programing
  • Database
  • Framework
  • Mobile Development
    • Titanium Mobile
    • PhoneGap
  • Life

Tag Cloud

hide
PHP JavaScript MySQL XML Mobile jQuery CodeIgniter Hash php xml Debug Library Zend API Events Plugins Facebook Basic Registration Tool Twitter Search Swath Performance ffmpeg YouTube Web Service Yahoo! NoSQL MongoDB PhoneGap

Recent Posts

hide
  • ใครๆ ก็มี Utils เอางี้เราเพิ่ม Utils ให้กับ CodeIgniter กันบ้าง
  • แนะนำ JS.Class (A JavaScript class library)
  • PHP กับ OOP มาปูพื้นฐานกันเสียใหม่ก่อน
  • ประกาศข่าวสารจาก Admin
  • JSFIDDLE สุดยอด Tools สำหรับการ Debug การเขียนตัวอย่างโคด
  • Titanium Mobile + HTML + Native Scrolling
  • HTML to PDF ตัวไหนดี วันนี้ผมมีคำตอบ ...
  • ทำความรู้จักกับ JavaScript Pattern ในเชิงลึก
  • ผมบอกคุณแล้ว .... คนโง่ก็ Code ได้
  • วันนี้ มาออกแบบ Web Service ด้วย PHP กันเถอะ (CodeIgniter Version)

Recent Comments

hide
  • เยดดดด
  • มีตัวอย่าง CI แบบ เพียว ๆ ไหมครับ
  • ขอบคุณมากครับ เห็นแนวทางได้ชัดขึ้นจากตอนแรก ที่งงไปหมด ไม่รู้อะไรเป็นอะไร
  • ขอบคุณมากเลยครับท่าน....แหม่เพิ่มกำลังใจให้ผมได้เยอะเลย ตอนนี้กำลังฝึกงานอยู่ที่แห่งนึงในหาดใหญ่ พร้อมเด็กจากอีกสถาบันนึง 3 คน เราคิดว่าเรา…
  • Very good blog, I really like ~

Links

hide
  • OSCOOL
  • Architeture & Performance
  • Video and TV
  • Appcelerator
  • PhoneGap
  • Home
  •  » Blogs

เรียนรู้การเชื่อมต่อ API ผ่าน Protocol JSONp

Oct 12, 2008 10:50:09 PM | 0 Comments | in Programing | XML, API, jQuery
มาอัพเดทแล้ว! วันนี้จะขอแนะนำ Protocol ของ API ซึ่งกำลังมาแรง เพราะว่าใช้งานง่าย และสามารถทำงานผ่าน Client ได้เลย โดยไม่ต้องพึ่ง Server Side Script นั่นก็คือ JSONp

JSONp เป็น Protocol ที่ใช้เชื่อมเพื่อทำงานกับ Web Service จากที่ต่างๆ โดย API ที่ดังๆ มักจะเตรียมมาไว้ให้ โดยรูปแบบและลักษณะการทำงานจะเป็นดังนี้

1. Request ส่งไปที่ API โดย กำหนดชื่อ Function ที่จะให้ Return หรือ Callback นั่นเอง โดยผมจะยกตัวอย่าง Twitter ดังนี้
http://www.twitter.com/statuses/user_timeline/username.json?callback=twitterCallback&count=20


URL นี้เป็นการเรียก API ของ Twitter ผ่าน JSONp โดยกำหนดให้ Callback เป็น twitterCallback

2. รับค่าที่ Return โดยการสร้าง Tag Script ไว้รองรับ
http://www.twitter.com/statuses/user_timeline/tenshin99.json?callback=twitterCallback&count=20


โดยตัวอย่างผมจะเอา Twitter Account ของผมมาทดสอบดู ถ้าลองดูผ่าน URL ด้านบนจะสังเกตุเห็นได้ว่า ค่าทั้งหมดจะถูกบรรจุ ในรูปแบบของ JavaScript Function ที่มีชื่อว่า twitterCallback(....)

ต่อจากนั้นผมก็จะมาสร้าง Node เพื่อนำ URL นี้ใส่เข้าไป เพื่อที่จะนำค่ามาใช้งาน
var scriptEl = $(‘<script>’);
scriptEl.attr(’src’, apiUrl);
$(‘head’).append(scriptEl);
window[‘twitterCallback’] = function (obj) {
// do something here
}

** jQuery Style

จากนั้นผมก็สามารถนำค่าที่อยู่ ใน function มาใช้งานต่อได้เลยเช่น

$.each(obj, i, item) {
  alert(item.text);
}
 

แค่นี้ผมก็จะได้ค่ามาทั้งหมดเรียบร้อย ซึ่ง API แบบ JSONp นี้มีข้อดีคือ Implement ค่อนข้างง่าย และเสียเวลา Learning ค่อนข้างสั้น รวมไปถึง ไม่มีข้อจำกัดในเรื่อง Rate Limit ของ API เพราะว่า ให้ Client เป็นคนดึงขอมูลเข้ามาเอง จะสะดวกมากสำหรับ API ที่ดัก Server IP เพราะนี่มันต่างคนต่างดึง ใช้ Client IP แทน

แต่ข้อเสียก็มีไม่น้อยนั่นก็คือ API แบบนี้มักจะ สามารถทำได้แค่การ Fetch Data แต่มักจะไม่ Provide ส่วนของการ POST Parameters เข้าไป เช่นพวก Method Insert ต่างๆ แต่ผมว่า เ้ท่านี้ก็สะดวกมากพอแล้ว

และก็อีกเรื่องที่สำคัญกับคนสร้างเวบในยุดคนี้ก็คือ “มันไม่ Support SEO” เพราะว่าใช้การ Render ผ่าน DOM โดยตรง ไม่มี Source Code ในรูปแบบ ที่ Bot View ได้

เอาล่ะครับสาระสำคัญก็หมดไปแล้ว เอาเป็นว่าวันนี้ลากันไปเท่านี้แหละ สวัสดีครับ

twitter stumbleupon delicious digg facebook

0 comments

Add comment Load previous All comments

Leave a comment

Post Comment

Powered by OSCOOL. You may view this on RSS or ATOM.

OSCOOL

  • Twitter
  • Facebook
  • Next