JSONP

2011-10-13 12 views
5

के साथ एक फॉर्म पोस्ट करें मैं JSONP के साथ एक फॉर्म पोस्ट करना चाहता हूं क्या कोई व्यवहार्य समाधान है?JSONP

मैं jsonp से विभिन्न डोमेन पर फॉर्म पोस्ट करना चाहता हूं।

+0

हमें कुछ कोड, कृपया दिखाएँ! किसी को इसका जवाब कैसे देना चाहिए? – vzwick

+0

आप केवल JSONP का उपयोग करके GET अनुरोध भेज सकते हैं। आपकी त्वरित प्रतिक्रिया के लिए – andlrc

+0

@vzwick धन्यवाद। परिदृश्य मेरे पास मेरे सर्वर पर है लेकिन मैं AJAX के माध्यम से पोस्ट सर्वर को अलग-अलग सर्वर पर चाहता हूं, लेकिन AJAX इस की अनुमति नहीं देता है इसलिए मुझे पता चला कि jsonp डेटा को diff को भेजने में मदद करता है। सर्वर यह जीईटी विधि के साथ काम करता है लेकिन मुझे POST विधि चाहिए जो jsonp के साथ काम नहीं कर रहा है। कोई उपाय? –

उत्तर

4

आप जेएसओएनपी के साथ एक क्रॉस मूल पोस्ट नहीं कर सकते हैं।

लेकिन, आप कर सकते हैं:

  1. को क्रमानुसार एक क्वेरी स्ट्रिंग में फार्म और यह GET अनुरोध के साथ भेजा।
  2. यदि आप केवल आधुनिक ब्राउज़र को लक्षित करने में सक्षम होने की लक्जरी है तो CORS(Cross Origin Resource Sharing) का उपयोग करें।

    जावास्क्रिप्ट:

2

एक JSONP अनुरोध सिर्फ एक समारोह कॉल के साथ एक स्क्रिप्ट टैग पैदा कर रही है

var head = document.getElementsByTagName("head")[0]; 
var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script src = 'url_to_post.serverside?callback=callback_function'; 

var callback_function(response) { 
    head.removeChild(script); 
    alert(response.abc); // returns def; 
}; 

url_to_post.serverside:

callback_function({"abc": "def"}); 

आशा है कि आप क्यों इसे देख सकते हैं केवल जीईटी अनुरोधों के लिए काम करता है

:)

2

आपको लगता है कि उपयोग कर सकते हैं अपने $ .POST, $ .Get का डेटा विकल्प पर, $ .AJAX विधि:

$('form').serialize()