मैं एक serverside समारोह हैबेसिक "रॉ" अजाक्स कॉल
foo("bar") returns "baz"
और इस तरह है कि एक HTTP सर्वर में इस समारोह लिपटे है
POST /foo HTTP/1.1
...
bar
वापस आ जाएगा:
HTTP/1.1 200 OK
...
baz
यानी इनपुट स्ट्रिंग के साथ एक POST अनुरोध HTTP संदेश निकाय के रूप में आउटपुट स्ट्रिंग को 200 ओके के HTTP संदेश निकाय के रूप में वापस कर देगा। सर्वर से एसिंक्रोनस रूप से किए जाने के लिए और बाद में जब प्रतिक्रिया मिली है मैं चाहूँगा
function sendFoo(input_string)
{
??? // should asynchronously start process to POST input_string to server
}
function recvFoo(output_string)
{
...
}
जब मैं sendFoo फोन मैं चाहूँगा पोस्ट:
अब वेब पेज पर मेरी जावास्क्रिप्ट में मैं दो कार्यों 200 ओके के संदेश निकाय के साथ recvFoo (शायद किसी अन्य धागे या जो भी) में कहा जाता है।
मैं उपरोक्त sendFoo को कैसे कार्यान्वित करूं? मैं वर्तमान में jQuery का उपयोग कर रहा हूं, लेकिन शुद्ध जावास्क्रिप्ट में एक समाधान भी ठीक है। धन्यवाद
$.post('foo.html', {'varname' : 'bar'}, function(data) {
recvFoo(data);
});
बहुत अच्छी तरह से सवाल तैयार कर ली: (मैं भी सर्वर संशोधित कर सकते हैं अगर जरूरत हो सकता है?)
समाधान:
function sendFoo(input_string)
{
$.ajax({ url: "/foo", type: "POST", data: input_string, success: recvFoo });
}
आप पोस्ट सही माध्यम से jQuery AJAX का उपयोग कर सकते हैं? – kobe
क्या आपको अभी भी कठिनाइयां हैं? – gdoron
आपके साथ शुरू होने से जल्द ही सुझाए गए समाधानों का प्रयास कर रहा है। क्रोम में मुझे लगता है कि यह पहले "विकल्प" अनुरोध भेजने की कोशिश करता है। अगर यूआरएल खराब है तो मुझे कोई त्रुटि संदेश नहीं मिलता है, लेकिन मुझे लगता है कि यह अपरिहार्य है। –