2011-03-28 15 views
13

के लिए बेसिक कैसे करें- मैंने इसके लिए यहां हर जगह देखा। मुझे बस एक सरल "कैसे-टू" खींचने के लिए jsonp cross डोमेन की आवश्यकता है। मैं jQuery 1.5.1 का उपयोग कर रहा हूँ।क्रॉस डोमेन jsonp

$.getJSON("http://www.mydomain.com/testjson.json?jsoncallback=?", function(data) { 
    alert("I'm hitting this."); 
} 

यह बिल्कुल काम नहीं करता है:

किसी और स्थल पर एक कार्यक्रम में निम्नलिखित की कोशिश की।

क्या एक साधारण क्रॉस डोमेन jquery JSONP कॉल करने का कोई तरीका है?

धन्यवाद

+7

आप गायब हैं '; अंत में। त्रुटियों के लिए कंसोल की जांच करें। –

उत्तर

13

JSONP को सफल होने के लिए सर्वर के सहयोग की आवश्यकता है। आप JSONP का उपयोग करके यादृच्छिक पृष्ठों को खींच नहीं सकते हैं और उन्हें सफल होने की उम्मीद कर सकते हैं; सर्वर को पता होना चाहिए:

  1. इसे JSON प्रतिक्रिया के बजाय JSONP प्रतिक्रिया तैयार करने की आवश्यकता है।
  2. इसे प्रतिक्रिया के आसपास लपेटने के लिए फ़ंक्शन का नाम जानना आवश्यक है।

तुम क्यों सर्वर इन पता करने की जरूरत है पर अनिश्चित हैं, तो या क्या मतभेद JSON और JSONP के बीच कर रहे हैं, आप उन पर पढ़ा जाना चाहिए, या पूरी बात कोई समझ नहीं लेगी। शुरुआत के लिए, Can anyone explain what JSONP is, in layman terms? और http://en.wikipedia.org/wiki/JSONP देखें।

someCallback({ "key": 1, "bar": "foo" }) 

जो एक JSONP प्रतिक्रिया है:

यह एक छोटे से अधिक समझने के बाद, आप शायद बजाय मिल जाएगा सर्वर

{ "key": 1, "bar": "foo" } 

(जो मान्य JSON है) पर वापस आ गया है।

1

यदि आप इन http://terrasus.com/detail.jsp?articleID=396 चरण-दर-चरण प्रयास करते हैं तो यह ठीक काम करेगा। यदि आप जेसनपी प्रतिक्रिया उत्पन्न करते हैं तो आपको कॉलबैक मान प्राप्त करना चाहिए और इसे गतिशील रूप से अपनी प्रतिक्रिया में सेट करना चाहिए। इस आलेख में एक विस्तार स्पष्टीकरण

संबंधित मुद्दे