का उपयोग कर पाठ के रूप में प्रतिक्रिया की व्याख्या करें: लघु प्रश्न: क्या सर्वर पर jsonp अनुरोध करने का अनुरोध है, अनुरोध पर कब्जा करें, लेकिन इसे जावास्क्रिप्ट के रूप में पार्स नहीं करें? मैं डेटा टाइप का उपयोग कर रहा हूं: jQuery 1.5 में "jsonp टेक्स्ट" लेकिन यह काम नहीं कर रहा है।jsonp के रूप में अनुरोध भेजें, jQuery 1.5
मैं jsonp के साथ AJAX के माध्यम से एक क्रॉस-डोमेन यूआरएल तक पहुंचने का प्रयास कर रहा हूं। समस्या यह है कि अन्य डोमेन (मेरे विश्वविद्यालय में एक निर्देशिका सूची) बहुत पुरानी है और मुझे संदेह है कि सर्वर jsonp का समर्थन करता है।
- फ़ायरफ़ॉक्स में, मुझे "एक्सएमएल टैग नाम मिस्चैच (अपेक्षित मेटा)" त्रुटि मिलती है। क्रोम में मुझे एक "अनकॉट सिंटेक्स त्रुटि अनपेक्षित टोकन <" दोनों मेरे AJAX अनुरोध से संबंधित फ़ाइल को इंगित करते हैं। त्रुटि कॉलबैक से त्रुटि स्ट्रिंग "parsererror" है।
- मैं सामान्य AJAX कॉल नहीं कर सकता - जब मैं डेटाटाइप को केवल "टेक्स्ट" में बदलता हूं या इसे एक साथ हटा देता हूं, तो अन्य डोमेन शिकायत करता है कि उपयोगकर्ता प्रमाणीकृत नहीं है और लॉगिन पृष्ठ पर रीडायरेक्ट करता है - भले ही मैं ब्राउज़र पक्ष में पहले ही लॉग इन है। जब डेटा टाइप jsonp है, तो ऐसा नहीं होता है।
- मुझे पता है कि सर्वर को JSONP का समर्थन करने की आवश्यकता है, और मुझे नहीं लगता कि यह करता है, लेकिन जब मैं डेटा टाइप को JSONP में बदलता हूं, तो मैं प्रतिक्रिया पृष्ठ संसाधन क्रोम और फ़ायरफ़ॉक्स दोनों में दिखाई देता हूं - इसलिए सर्वर वास्तव में भेजता है ब्राउज़र की प्रतिक्रिया (एक स्थिर HTML वेबपृष्ठ + कुछ जावा स्क्रिप्ट) - जिसमें वह डेटा शामिल है जिसे मैं प्राप्त करना चाहता हूं।
- समस्या यह है कि jQuery जावास्क्रिप्ट के रूप में प्रतिक्रिया को पार्स करने का प्रयास कर रहा है, और विफल रहता है (क्योंकि यह जावास्क्रिप्ट नहीं है)। तो डेटा ब्राउज़र में समाप्त होता है - मुझे बस इसे एक्सेस करने की आवश्यकता है!
- डेटा का उपयोग करना टाइप: "जेसनपी टेक्स्ट" जो इंगित करना है कि एक जेसनपी अनुरोध भेजें और प्रतिक्रिया की व्याख्या करें क्योंकि टेक्स्ट में कोई फर्क नहीं पड़ता है - अभी भी एक पार्स त्रुटि है।
मुझे जो चाहिए वह है: एक जेएसएसपी अनुरोध से सादे पाठ के रूप में प्रतिक्रिया तक पहुंचने का एक तरीका। या, यदि मैं एक असफल jsonp अनुरोध से कच्ची प्रतिक्रिया तक पहुंच सकता हूं - जो भी काम करेगा।
अग्रिम धन्यवाद!
कोड:
ajax_url = 'https://somesite/?searchTerm='+query+'&searchType=lastname';
var jqxhr = $.ajax({type:"GET",
url: ajax_url,
dataType:"jsonp text",
callback: "whatever",
success:function(responseData) {
$('div#content').text(responseData.slice(0, 100));
dbg(responseData.slice(0,100));
}})
.success(function() { alert("success"); })
.error(function(obj, errStr) { alert("error"); dbg("error: " + errStr + "test: " + test.responseText + this.responseTxt);})
.complete(function() { alert("complete"); });
क्या आपने जेएस चर में अपने डेटा को एक्सेस करने का प्रयास किया है, फिर इसे जेएस टैग में संलग्न किया है। अगर यह जेएस के रूप में इसे पार्स करने की कोशिश कर रहा है तो समझ में आता है। –