jQuery AJAX Web service works only locally -
मेरे पास एक साधारण एएसपी.नेट वेब सेवा है
[वेबसर्विसेज (नेमस्पेस = "http : //tempuri.org/ ")] [वेबसाइसबिंग (कन्फर्फोटो = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] सार्वजनिक वर्ग सेवा: सिस्टम। वेब। सेवाओं। वेब सेवा (सार्वजनिक सेवा) () [} [ WebMethod] सार्वजनिक स्ट्रिंग SetName (स्ट्रिंग का नाम) {वापसी "नमस्ते मेरे प्यारे दोस्त" + नाम; }}
इस वेब सेवा के लिए मैंने वर्चुअल डायरेक्टरी बनाई है, इसलिए मैं टेप द्वारा एक्सेस प्राप्त कर सकता हूं।
मैं इसे jQuery के साथ साधारण HTML पेज के माध्यम से कॉल करने का प्रयास करता हूं। इस उद्देश्य के लिए मैं फ़ंक्शन का उपयोग
CallWS () {$ .ajax ({type: "POST", डेटा: "{'name': 'Pumba'}", डेटा प्रकार: "json" , Url: "http: // localhost: 89 / service.asmx / setname", contentType: "application / json; charset = utf-8", सफलता: फ़ंक्शन (msg) {$ ('# DIVID')। Html Msg.d);}, त्रुटि: फ़ंक्शन (e) {$ ('# DIVID')। Html ("त्रुटि");}});
सबसे दिलचस्प तथ्य: यदि मैं अपनी वेबसाइव के साथ इस प्रोजेक्ट में html पृष्ठ बना रहा हूं और यूआरएल को Service.asmx / SetName में बदल देता है तो सब कुछ उत्कृष्ट काम करता है। लेकिन अगर मैं इस वेबसाईट को दूरस्थ रूप से कॉल करने की कोशिश करता हूं - सफलता फ़ंक्शन काम करता है, लेकिन msg नल है।
इसके बाद मैंने सोप के जरिये इस सेवा को कॉल करने की कोशिश की। यह वही है - स्थानीय रूप से यह उत्कृष्ट काम करता है, लेकिन दूरस्थ रूप से - बिल्कुल नहीं।
var ServiceUrl = 'http: // localhost: 89 / service.asmx? Op = SetName'; फ़ंक्शन आरंभसैटनाम (नाम) {var soapMessage = '& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; साबुन: लिफ़ाफ़ा xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: साबुन = " http://schemas.xmlsoap.org/soap/envelope/"> & LT; साबुन: शरीर & gt; & Lt; सेटडेम xmlns = "http://tempuri.org/" & gt; & LT; नाम & gt; ' + नाम + '& lt; / name & gt; & Lt; / SetName & gt; & Lt; / साबुन: शरीर & gt; & Lt; / साबुन: लिफाफा & gt; '; $ .एजेक्स ({url: ServiceUrl, प्रकार: "पोस्ट", डेटा प्रकार: "xml", डेटा: साबुन संदेश, पूरा: एंडसेटनेट, कंटेंट टाइप: "text / xml; charset = \" utf-8 \ ""}); विवरण झूठा है; } Function endSetName (xmlHttpRequest, status) {$ (xmlHttpRequest.responseXML) .find ('SetNameResult') .each (function () {var name = $ (this) .text (); अलर्ट (नाम);}); }
इस मामले की स्थिति में मान "पार्सररर" है। क्या आप इस समस्या का समाधान करने में मेरी सहायता कर सकते हैं? JQuery के माध्यम से यूआरएल द्वारा दूर से किसी अन्य वेबसर्वर को कॉल करने के लिए मुझे क्या करना चाहिए।
आपको पहले से धन्यवाद, ग्रेग
के कारण, आपको अपने AJAX को JSON के बजाय JSON का उपयोग करने के लिए संशोधित करने की आवश्यकता होगी। देखें।
Comments
Post a Comment