क्या Jquery की स्वत: पूर्ण HTTP सबमिशन विधि को GET के बजाय POST पर सेट करने का कोई तरीका है?मैं JQuery स्वत: पूर्ण को GET के बजाय POST पर कैसे सेट करूं?
उत्तर
दुर्भाग्यवश, स्वत: पूर्ण करने का कोई विकल्प नहीं है जो आपको इसे सेट करने की अनुमति देगा। हालांकि, प्लगइन कोड में एक ही जगह है जहां $.ajax
फ़ंक्शन कहा जाता है। निर्दिष्ट type
विकल्प निर्दिष्ट नहीं है, जिसका अर्थ है कि यह एक GET अनुरोध के लिए डिफ़ॉल्ट होगा। आप एक type
विकल्प शामिल और करने के लिए "पोस्ट" अपने मूल्य निर्धारित करने के लिए $.ajax
कॉल (जो नवीनतम संस्करण की लाइन 361 पर शुरू होता है) को संशोधित कर सकते हैं:
$.ajax({ //line 361
type: "post",
...
आप से पहले
$.ajaxSetup({ type: "post" });
उपयोग कर सकते हैं स्वत: पूर्ण करने के लिए कॉल, और यह पेज पर AJAX कॉल ओवरराइड करेगा।
यह jQuery * के माध्यम से किए गए सभी * AJAX कॉल को संशोधित करता है। यह पृष्ठ पर चल रहे अन्य कोड के साथ बुरी तरह से बातचीत करता है। बेहद खतरनाक – usr
शायद बेहतर यह स्रोत पैरामीटर के साथ में पारित करने के बजाय इस तरह विश्व स्तर पर स्थापित करने के लिए:
$("#input").autocomplete({
source: function (request, response) {
$.post("/AjaxPostURL", request, response);
}
});
अतिरिक्त डेटा पास होने के साथ $ .post का एक और पूर्ण संस्करण यहां दिया गया है: $(function() { \t \t var options = { \t \t \t \t \t \t \t url: "/web/ajax.php?a=query-save-projects&w=app", \t \t \t \t type: 'post', \t \t \t \t data: { \t \t \t \t \t "args":$().crypt({method:"b64enc",source:JSON.stringify(_system) }), \t \t \t \t \t "url":document.URL \t \t \t \t \t } \t \t \t \t }; \t \t $("#query-save-project-name").autocomplete({ \t \t \t \t \t source: function (request, response) { $.post(options["url"], options["data"], response, "json") }, \t \t \t \t \t minLength: 2 \t \t \t \t \t }); \t \t });
–
mshaffer
अनुरोधों में से कोई एक विफल होने पर यह तोड़ता है। उस स्थिति में 'प्रतिक्रिया' कभी नहीं कहा जाता है जो स्वत: पूर्ण प्लगइन को तोड़ देता है। अन्यथा यह सही दृष्टिकोण है। – usr
यह वास्तव में बुरा विचार है स्रोत कोड को संपादित करने के लिए है क्योंकि आप अगले अपग्रेड पर अपने परिवर्तनों को खो देंगे विजेट का। ग्लोबल टाइप को "पोस्ट" या अनुरोध/प्रतिक्रिया ऑब्जेक्ट में पास करना बेहतर है।
एक वैश्विक पोस्ट सेटिंग बनाना * सभी * AJAX कॉल jQuery के माध्यम से संशोधित करता है। यह पृष्ठ पर चल रहे अन्य कोड के साथ बुरी तरह से बातचीत करता है। बेहद खतरनाक – usr
मैं अपनी जावास्क्रिप्ट फ़ाइल (jQuery UI के बाद लोड) में एक फ़ंक्शन को ओवरराइट करता हूं ताकि इसे किसी अन्य विकल्प के रूप में GET/POST स्वीकार कर सकें।
$.ui.autocomplete.prototype._initSource = function() {
var array, url,
that = this;
if ($.isArray(this.options.source)) {
array = this.options.source;
this.source = function(request, response) {
response($.ui.autocomplete.filter(array, request.term));
};
} else if (typeof this.options.source === "string") {
url = this.options.source;
/*added*/ var httpMethod = this.options.type ? this.options.type : 'GET';
this.source = function(request, response) {
if (that.xhr) {
that.xhr.abort();
}
that.xhr = $.ajax({
url: url,
data: request,
dataType: "json",
/*added*/ type: httpMethod,
success: function(data) {
response(data);
},
error: function() {
response([]);
}
});
};
} else {
this.source = this.options.source;
}
};
मैं इसे अन्य लोगों द्वारा उल्लेख समस्याओं और कुछ को तोड़ने के बिना ऊपर को हल करती है लगता है:
- jQuery यूआई फ़ाइल सीधे संपादित करना jQuery यूआई एक दर्द का उन्नयन होगा, और अपने jQuery की मेजबानी के लिए Google API का उपयोग करने से रोक फाइल
- $ .ajaxSetup हमारे उत्पाद
पर प्रत्येक स्वत: पूर्ण या AJAX कॉल को प्रभावित करेगा - एक $। पोस्ट लिखना और इसे फ़ंक्शन के रूप में पास करना अच्छा है, लेकिन यदि आप अपनी साइट पर दर्जनों स्वत: पूर्णता का उपयोग करते हैं तो बहुत सारे टाइपिंग।
स्रोत को संशोधित करने का अर्थ है कि आपको अगले संस्करण में अपग्रेड करने में परेशानी होगी। – usr
सौभाग्य से, जावास्क्रिप्ट में कार्य परिवर्तनीय हैं, इसलिए आपको यह नहीं करना है।लेकिन jQuery के एक नए संस्करण ने इसे बदल दिया है, लेकिन उस विशेष समारोह में कोई भी परिवर्तन वास्तव में खो जाएगा। यही कारण है कि आप इस रणनीति का उपयोग सबसे कठिन परिस्थितियों में अधिक नहीं करना चाहते हैं। – DrShaffopolis
- 1. jquery $ .post() बनाम $ .get()
- 2. वर्ग पर jQuery स्वत: पूर्ण, आईडी
- 3. jQuery UI स्वत: पूर्ण
- 4. स्वत: पूर्ण jquery ui
- 5. jQuery UI स्वत: पूर्ण
- 6. मैं कैसे jQuery यूआई स्वत: पूर्ण
- 7. jQuery UI स्वत: पूर्ण
- 8. jQuery स्वत: पूर्ण ऑटोफोकस
- 9. स्वत: पूर्ण (jQuery UI)
- 10. jQuery के स्वत: पूर्ण आदेश
- 11. JQuery स्वत: पूर्ण टेक्स्टबॉक्स
- 12. स्वत: पूर्ण jquery
- 13. jQuery स्वत: पूर्ण minlength
- 14. jQuery स्वत: पूर्ण + AngularJS
- 15. jQuery UI स्वत: पूर्ण
- 16. इस प्रकार, jQuery स्वत: पूर्ण
- 17. Jquery UI स्वत: पूर्ण
- 18. jQuery यूआई स्वत: पूर्ण
- 19. NSURLRequest: httpMethod "GET" को "POST"
- 20. Jquery स्वत: पूर्ण - लिस्टिंग
- 21. JQuery UI स्वत: पूर्ण -
- 22. jQuery स्वत: पूर्ण कठिनाई
- 23. अनुकूलित jQuery स्वत: पूर्ण परिणाम
- 24. सोलर JQuery स्वत: पूर्ण स्वत: पूर्ण नहीं है
- 25. jQuery UI स्वत: पूर्ण मूल्य
- 26. jQuery स्वत: पूर्ण - स्वत: पूर्ण इनपुट क्षेत्र की आईडी प्राप्त
- 27. मैं दो कॉलम jquery स्वतः पूर्ण कैसे प्राप्त करूं?
- 28. jQuery स्वत: पूर्ण और एएसपी.नेट
- 29. jQuery ui स्वत: पूर्ण अवधि
- 30. jQuery UI स्वत: पूर्ण - स्रोत
इसके अलावा आप एमईसी को जीईटी को बदलने की अनुमति भी बदल सकते हैं। Http://stackoverflow.com/questions/2350921/asp-net-mvc-2-failed-with-jquery-ajax-response#2350957 – Daveo
@ डेवो: यह सच है, लेकिन हमें उस सुविधा को अक्षम करने के बारे में सावधान रहना चाहिए जो कि था ब्राउज़र भेद्यता शोषण से हमें बचाने के इरादे से। – StriplingWarrior
संभवतया ब्याज की: एक सुविधा अनुरोध (http://bugs.jqueryui.com/ticket/5353), और इसे अस्वीकार करने के लिए एक स्पष्टीकरण (http://forum.jquery.com/topic/jqueryui-autocomplete- पोस्ट -option के लिए रिमोट अनुरोध # 14737000002084408)। – StriplingWarrior