2010-07-07 18 views
9

में अनुरोध प्राप्त करें क्या कोई क्रॉस डोमेन GET या POST अनुरोध करने के लिए सर्वर प्रॉक्सी का उपयोग किए बिना कोई तरीका है?क्रॉस डोमेन जेएस/JQuery

+8

jsonp - http: // ajaxian.com/archives/jsonp-json-with-padding –

+0

मुझे यह स्पष्ट करना चाहिए था कि मेरे जीईटी अनुरोध की प्रतिक्रिया जेएसओएन स्वरूपित नहीं है, इसलिए मुझे नहीं लगता कि $ .getJSON – Crothers

उत्तर

14

आप केवल वर्तमान दिन ब्राउज़रों के साथ कर रहे हैं और बाहरी डोमेन पर नियंत्रण है, तो आप तो आप या तो पैडिंग के साथ JSON का उपयोग करने के Cross-Origin Resource Sharing [CORS]

अधिकांश लोगों को लगता है कि लक्जरी नहीं है का उपयोग कर सकते [ JSONP] या आपको सर्वरसाइड प्रॉक्सी का उपयोग करने की आवश्यकता है।

+2

उत्कृष्ट जवाब। अधिक जानकारी [इस स्टैक-ओ प्रश्न] पर उपलब्ध है (http://stackoverflow.com/questions/5908195/jquery-and-cross-domain-post-requests); और यह भी, [इस ब्लॉग पोस्ट को देखें] (http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/); इसके अलावा, [यह मोज़िला-डेवलपर-नेटवर्क आलेख] (https://developer.mozilla.org/En/HTTP_access_control) अधिक संसाधनों के लिंक के साथ उत्कृष्ट पढ़ने है। [संपादित करें]: ध्यान दें कि सीओआरएस को सक्षम करने के लिए, सर्वर-साइड स्क्रिप्ट को विशेष हेडर के साथ जवाब देना होगा। – David

+0

यहां एक नज़र डालें: http://www.html5rocks.com/en/tutorials/cors/ –

1

जहां तक ​​मुझे पता है, जेएस में क्रॉस-डोमेन अनुरोध करने का कोई तरीका नहीं है, लेकिन आप बस अपने सर्वर से पूछ सकते हैं और वहां से अनुरोध कर सकते हैं।

संपादित करें: जैसा कि Russ कैम ने ऊपर कहा था, JSONP देखें।

-2

AJAX क्रॉस डोमेन एक कम लागत वाली लाइब्रेरी है जो क्रॉस-डोमेन AJAX अनुरोध करने की अनुमति देती है। http://www.ajax-cross-domain.com/

+0

काम करता है यदि डाउन-मतदाता टिप्पणियां छोड़ देते हैं तो यह बहुत अच्छा होगा इसलिए जनता को शिक्षित किया जा सकता है कि यह एक बुरा जवाब क्यों है। –

+1

हाँ, कृपया मुझे बताएं क्योंकि मैंने इस परियोजना का उपयोग कुछ परियोजनाओं में किया है और किसी भी मुद्दे का सामना नहीं किया है। – Ivan

+5

यह एक तृतीय पक्ष सेवा का उपयोग करता है जो आमतौर पर आदर्श नहीं है। –

0

वाईक्यूएल का उपयोग करना क्रॉस डोमेन AJAX करने का एक आसान तरीका है। आप एक JSON या XML ऑब्जेक्ट लौटने के लिए निर्दिष्ट कर सकते हैं। आईबीएम का एक अच्छा ट्यूटोरियल है: http://www.ibm.com/developerworks/web/library/wa-aj-jsonp2/index.html

हालांकि युकल क्रॉस डोमेन की तलाश करें और यह कई ट्यूटोरियल लाएगा।

0

आप फ्लैश का उपयोग कर सकते हैं। फ्लैश आपको किसी अन्य सर्वर पर क्रॉस-डोमेन अनुरोध करने की अनुमति देता है बशर्ते कि यह फ़्लैश क्रॉस-डोमेन नीति फ़ाइल (एक XML फ़ाइल) परोसता है। इसलिए इसे सेट अप करने के लिए आपको अन्य सर्वर पर व्यवस्थापकीय पहुंच की आवश्यकता होगी।

आपको लगता है इस विकल्प हो सकता है कि आप क्या ढूंढ रहे हैं या आप, SSL/TLS क्रॉस-डोमेन करना ओपनसोर्स फोर्ज परियोजना की जाँच करना चाहते हैं:

http://github.com/digitalbazaar/forge/blob/master/README

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