मैं एक वेब सेवा के लिए AJAX अनुरोध बनाने का प्रयास कर रहा हूं जो XML में कुछ निर्दिष्ट पैरामीटर दिए गए डेटा को लौटाता है। ऐसा लगता है कि आईई में अच्छी तरह से काम करता है, लेकिन फ़ायरफ़ॉक्स प्रतिक्रिया को डीकोड नहीं कर सकता है। मैं डीकोडिंग के बाद फिडलर में सफलतापूर्वक प्रतिक्रिया देख सकता हूं। यहां कोड है:
$(function() {
$.ajax({
type: "GET",
url: 'http:/localhost/webservice.asmx/GetTags?groupId=10',
contentType: "text/xml; charset=utf-8",
dataType: "xml",
success: function(response) {
$('#result').html('success',response);
$(response).find("string").each(function() {
$('#result').append($(this).text());
});
},
error: function(response) {
$('#result').html('failure',response);
}
});
});
क्या यह निर्दिष्ट करने का कोई तरीका है कि प्रतिक्रिया को डीकोड करने की आवश्यकता है? या इसे काम करने के लिए कोई और तरीका?
संपादित करें: @ निकी 9 6 9 6 - जेएसओएन एनकोडेड नहीं है क्योंकि डेटा एक्सएमएल में वापस आ गया है।
@Oleg - नमूना XML मैं ब्राउज़र में देख सकते हैं, तो आपको URL के माध्यम से वेब सेवा तक पहुँचने इस प्रकार है:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<string>tag 1</string>
<string>tag 2</string>
<string>tag 3</string>
</ArrayOfString>
TextView में Fiddler रिटर्न �
और संदेश
"रिस्पांस एन्कोड किया गया है और को निरीक्षण से पहले डीकोड किया जाना चाहिए। पर क्लिक करने के लिए यहां क्लिक करें। "
एक बार क्लिक किया गया यह एक ही एक्सएमएल प्रदर्शित करता है। मैं आईआईएस में गतिशील सामग्री संपीड़न बंद कर देता हूं तो एक्सएमएल सीधे फिडलर में दिखाई देता है, लेकिन एफएफ अभी भी सामना नहीं कर सकता है, ताकि संपीड़न का नियम हो।
मैंने स्क्रिप्ट के साथ थोड़ा सा खेला, ऐसा लगता है कि jQuery कुछ पैरामीटर को डिफ़ॉल्ट या अनुमान लगा सकता है, इसलिए डेटा टाइप, उदाहरण के लिए, अनिवार्य नहीं है। इन सेटिंग्स के साथ मुझे एक सफलता संदेश मिलता है, हालांकि यह अभी भी नहीं जानता कि डेटा के साथ क्या करना है। मैंने कुछ एसएस थ्रेड में सुझाए गए अनुसार "jsonp" को डेटा टाइप करने की कोशिश की है (इस समय इसे नहीं मिल सकता है, जब मैं करता हूं तो इसे लिंक कर दूंगा) और त्रुटि missing ; before statement
में बदल जाती है, मुझे लगता है क्योंकि यह JSON ऑब्जेक्ट नहीं है, लेकिन एक्सएमएल है। क्या JSON को इसके बजाय JSON वापस करने का कोई तरीका है?
संपादित 2: मैंने वास्तव में क्या हुआ, यह दर्शाने के लिए url
अपडेट किया है। क्षमा करें, मैंने इसे याद किया, किसी को भी इसे खोजना असंभव बना दिया।
जब आप "डीकोड" कहते हैं, तो क्या आपका मतलब है कि यह JSON एन्कोड किया गया है? – Nikki9696
क्या आप उस वेबएमएल डेटा को शामिल कर सकते हैं जो आपको वेब-सेवा से प्राप्त होता है और जिसे आप फिडलर में देखते हैं? – Oleg