हाँ, JSONP थोड़ा अलग है जब यह renders है, इसलिए अपने सर्वर इसे समर्थन की जरूरत है।
JSON इस तरह दिखता है:
{ "name": "value" }
JSONP जबकि इस तरह दिखता है:
functionName({ "name": "value" });
आप का समर्थन करता है तो यह आपको कवर कर रहे हैं प्रयोग कर रहे हैं जो कुछ भी है, लेकिन यह सिर्फ समर्थन के रूप में ही नहीं है JSON। सर्वर अनुरोध पर हो जाता है जब, उदाहरण के लिए: http://example.com/json?callback=functionName
, ऊपर तुम क्या प्रस्तुत करना चाहिए, क्योंकि यह कैसे पेज में लग रहा है यह है:
<script type="text/javascript" src="http://example.com/json?callback=functionName"></script>
यह कुछ ऐसा है की जरूरत है वापस करने चलाता है का मतलब है, एक उदाहरण के रूप में, यह मान्य है:
:
<script type="text/javascript">
functionName({ "name": "value" });
</script>
तो अपने सर्वर समर्थन JSONP यह प्रभावी रूप से इस होगा नहीं था
... और आपको वाक्यविन्यास त्रुटियां मिलेंगी, क्योंकि यह वैध जावास्क्रिप्ट नहीं है।
स्रोत
2010-07-21 01:35:23
और आपके जेएस कोड को फ़ंक्शननाम लागू करना है? क्या जेएस ऑब्जेक्ट्स प्राप्त करने के लिए उसे जेसन को निकालने की ज़रूरत है? – hvgotcodes
@hvgotcodes - हां, क्लाइंट में वह फ़ंक्शन है (उदाहरण के लिए jQuery डिफ़ॉल्ट रूप से एक गतिशील बनाता है)। यह जेएसओएन को फ़ंक्शन में पास किया जा रहा है (जेएसओएन वैध ऑब्जेक्ट शाब्दिक नोटेशन है, बस इसका सबसेट है), इसलिए कोई 'eval()' करने की आवश्यकता नहीं है। –
मुझे समझ में नहीं आता कि आपको इसे विकसित करने की आवश्यकता क्यों नहीं है। जेएसएसपी के बावजूद, अधिकांश जेएस पुस्तकालयों ने जेसन को वास्तविक जेएस ऑब्जेक्ट्स जेसन का प्रतिनिधित्व करने के लिए एक्सएचआरएस के माध्यम से वापस कर दिया है? – hvgotcodes