2011-02-11 17 views
7

के लिए "parsererror" देता है मेरे पास एक सूची से सर्वर आईडी प्राप्त करने के लिए यह फ़ंक्शन है। समारोह हमेशा "parsererror" देता है। मैंने जेएसओएन डेटा लौटाया है लेकिन मुझे लगता है कि यह काम नहीं कर रहा है, क्योंकि jQuery ने v1.5 में AJAX को फिर से लिखा है।jQuery.ajax() v1.5 जेसन डेटा

function server_id() 
{ 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost/server_list.php", 
     dataType: "json", 
     success: function(data, status) { 
      alert(status + "\n\n" + data.server_id); 
     }, 
     complete: function(data, status){ 
        alert(status); 
     } 
    }); 

} 

server_list.php

header('Content-type: application/json'); 

    $output['server_id'] = '123'; 
    print json_encode($output); 

फ़ायरबग नेट में >> एक्सएचआर यह JSON के रूप में इसे पढ़ता है के रूप में यह टैब आता है और उत्तर टैब पता चलता है कि नीचे है।

{"server_id":"123"} 

मैंने सामग्री प्रकार शीर्षलेख को नीचे की तरह सेट करने का प्रयास किया है लेकिन कोई भाग्य नहीं है।

Content-type: application/json 

UPDATED मैं केवल मिल "parsererror" सत्यापन प्लगइन http://bassistance.de/jquery-plugins/jquery-plugin-validationdocs.jquery.com/Plugins/Validation v1.7 से भरी हुई है, तो।

यदि आप प्लग jquery जोड़ते हैं तो क्वेरी स्ट्रिंग में jsonp कॉलबैक स्वचालित रूप से जोड़ता है जब भी आप गलत सेट करते हैं या jsonp के लिए पैरा शामिल नहीं करते हैं। बहुत अजीब

कैसे ठीक करने के बारे में कोई विचार?

धन्यवाद

+0

कृपया कोड स्निपेट पोस्ट करें जो आउटपुट दिखाने के लिए उपरोक्त पोस्ट –

+0

@pinusnegra संपादित करता है। भिन्न नहीं देखें क्योंकि आप फायरबग आउटपुट देख सकते हैं जो इसके JSON – ClaireTaylor

+0

दिखाता है क्यों एक jsonp कॉलबैक है? क्या यह एक AJAX अनुरोध या JSONP होना चाहिए? –

उत्तर

0

आप नियमित json संचार करना चाहते हैं (dataType बजाय "jsonp" के "json" और server_list.php json भेजता है) लगते हैं, लेकिन आप jsonp विकल्प स्थापित कर रहे हैं। jsonp और jsonpcallback लाइनों को हटाएं। jsonp से false पर सेट करने का मतलब यह नहीं है कि आप इसे अक्षम करते हैं!

जब इन दो पंक्तियों पर टिप्पणी की जाती है, everything seems to work fine

+0

@ फिलहाग धन्यवाद कि मुझे इसे कम करने में मदद करें। मैंने आपके लिंक में स्रोत का उपयोग किया है और मुझे केवल एक पार्सररर मिलता है यदि मेरे पास http://bassistance.de/jquery-plugins/jquery-plugin-validation/ http://docs.jquery.com/Plugins/ से लोड की गई सत्यापन पत्र है। प्रमाणीकरण v1.7। कोई विचार – ClaireTaylor

+1

@ क्लेयर टेलर: jquery-plugin-validation jquery 1.5 के साथ काम नहीं करता है; उन्होंने कुछ अजीब चीजें अपने $ .ajax शिम में विस्तार के साथ किया था। यह एक अजीब रेखा को दोबारा करने के बाद, ऐसा लगता है: http://phihag.de/2011/so/json/jquery.validate.js – phihag

+1

उस जानकारी के लिए बहुत बहुत धन्यवाद। मैंने क्लाइंट-साइड सत्यापन को हटाने का निर्णय लिया है। धन्यवाद हर कोई धन्यवाद। – ClaireTaylor

2

यहां सरल समाधान यह प्रतीत होता है कि jQuery 1.5 सत्यापन प्लगइन के 1.7 के साथ संगत नहीं है। JQuery 1.4.x को डाउनग्रेड करना (या अन्यथा फ़ैशनहैग के रूप में सत्यापन प्लगइन कोड को पैच करना या निकालना) समस्या हल करता है।

इस धागे पर उन लोगों के लिए बहुत धन्यवाद जिन्होंने संघर्ष की पहचान की। यह मुझे jQuery कोड डीबग करने के लिए सिरदर्द का एक गुच्छा बचाया।

0

मुझे इस थ्रेड को खोजने से पहले दिन का सामना करना पड़ा, धन्यवाद जिन्होंने jQuery.validate को अपराधी के रूप में इंगित किया।

मेरे परीक्षण में यह वास्तव में jquery.validate-vsdoc.js लगता है जो समस्या उत्पन्न कर रहा है, प्लगइन स्वयं नहीं, अगर किसी और के लिए इसका उपयोग किया जाता है।

+0

'-vsdoc' फ़ाइलें केवल विज़ुअल स्टूडियो को कोड पूर्ण करने की अनुमति देने के लिए मौजूद हैं - [" इस फ़ाइल को विजुअल स्टूडियो इंटेलिसेंस का समर्थन करने के लिए टिप्पणी की गई है। "] (Http://code.google.com/p/jiangliang-project/source /browse/ZWW/ZWW/Scripts/jquery.validate-vsdoc.js?r=14)। वास्तव में उन्हें अपनी उत्पादन साइट में कहीं भी शामिल करने की आवश्यकता नहीं है। –

+0

यह किसी उत्तर के बजाय प्रश्न पर टिप्पणी की तरह लगता है, और इसे इस तरह पोस्ट किया जाना चाहिए। किसी प्रश्न पर टिप्पणी पोस्ट करने के लिए आपको समुदाय में भाग लेने और विशेषाधिकार प्राप्त करने से पहले कुछ प्रतिष्ठा प्राप्त करने की आवश्यकता होगी। एसओ में आपका स्वागत है! – VKen

संबंधित मुद्दे