DCSIMG
[JavaScript] תקשורת בין דומיינים חלק 3 JSONP - מקודד לשווא

[JavaScript] תקשורת בין דומיינים חלק 3 JSONP

דרך נוספת לתקשר בין דומיינים היא בטכניקת JSONP. גם טכניקה זו מתאפשרת בזכות אי תאימות במדיניות המקור הזהה ומאפשרת טעינה של סקריפט ממקור חיצוני.

אותם סקריפט יכול להכיל פונקציות או מידע והתוכן שמגיע עימו נגיש לאפליקציה המארחת במקרה שלנו אנו מדברים על תקשורת נתונים ולכן נעביר מידע.

אבל למה לא סתם JSON למה JSONP

JavaScript Object Notation with Padding

כשמה כן היא – הודעת ה JSON מגיעה עם ריפוד אותו ריפוד נועד “להעיר” את האפקליקצה המארחת בקבלת התשובה. צורת התקשורת ב JSONP היא הוספה דינאמית של תגי SCRIPT אשר נטענים לתוך האפליקציה הקיימת ולא דרך האוביקט XMLHTTPRequest

mockup 

app.js

Capture3

response.js

Capture4

ההודעה בנויה בצורה הבאה :

Capture

דוגמא חיה לשיטה זו ניתן לראות ב API של טוויטר.

לדוגמא שורת הכתובת לקבלת מידע לגבי מגמות הינו :  http://search.twitter.com/trends.json?callback=calbackHandler

על שורת הכתובת אנו מוסיפים את שם הפונקציה שתיקרא בסוף הטעינה

קוד טעינה לדוגמא (קוד זה מופשט לצורך הדוגמא ואינו מיצר תגי סקריפט בצורה דינאמית)

Capture2

לסיכום שיטת JSONP:
• שליחת נתונים לשירות רק דרך שורת הכתובת  ולכן תומכת רק ב GET
• אין טיפול בשגיאות כמו XHR
• נפוצה מאוד ברשת (פליקר גוגל יאהו ועוד)

Published Sunday, September 06, 2009 4:22 PM על ידי danielisimo
תגים:, ,

תוכן התגובה

אין תגובות

שלח תגובה

(שדה חובה) 
(שדה חובה) 
(אופציונלי)
(שדה חובה) 

Enter the numbers above:
Powered by Community Server (Commercial Edition), by Telligent Systems