2011-06-28 7 views
5

एक साधारण स्वत: पूर्ण बॉक्स (jquery ui) मिला जो वेब स्रोत से इसका स्रोत प्राप्त करता है। नीचे दिए गए कोड की तरह कुछ है:Jquery JSONP अनुरोध डेटा के साथ 200 प्रतिक्रिया प्राप्त करता है लेकिन झंडे त्रुटि

var autocompleteOptions = { 
    source = getDataFromService, 
    minLength: 3 
}; 

var getDataFromService = function(request, response) { 
    var ajaxOptions = { 
     url: "http://myservice:1234/somedata/", 
     dataType: "jsonp", 
     data: "someVariable = " + request.term, 
     success: function(data) { alert("data"); }, 
     error: function(xhr, description, error) { alert("failed"); } 
    }; 

    $.ajax(ajaxOptions); 
} 

$(someSelector).autocomplete(autocompleteOptions); 

Fiddler में और यहां तक ​​कि फ़ायरफ़ॉक्स फ़ायरबग पैनल में देख रहे हैं, मैं देख सकता हूँ कि JSON सही ढंग से दिया जाता है, और सर्वर प्रतिक्रिया एक 200 मैं भी बनाया jsonp जाँच की है है स्क्रिप्ट स्निपेट, जिसमें सही JSON भी शामिल है। हालांकि यह हमेशा त्रुटि फ़ंक्शन को सफलतापूर्वक हिट नहीं करता है।

मैंने पूर्ण रूप से एक्सएचआर से डेटा प्राप्त करने और डेटा प्राप्त करने का भी प्रयास किया है, हालांकि प्रतिक्रिया टेक्स्ट और प्रतिक्रिया एक्सएमएल दोनों अनिर्धारित हैं। त्रुटि में पार्स त्रुटि है, लेकिन यह सब जेएसन को सिंटैक्टिक रूप से सही लगता है, क्योंकि फायरबग पैनल और फिडलर दोनों इसे ठीक दिखाते हैं।

HTTP/1.1 200 OK 
Server: ASP.NET Development Server/9.0.0.0 
Date: 28 Jun 2011 11:17:04 GMT 
X-AspNet-Version: 2.0.50727 
X-AspNetMvc-Version: 2.0 
Cache-Control: private 
Content-Type: application/json; charset=utf-8 
Content-Length: 29 
Connection: Close 

[{"id":"1", "somevar":"hello"}] 
+1

हैं कि विवादित JSON पोस्ट कर सकते हैं? अगर आपको "पार्स त्रुटि" मिल रही है, तो एक कारण होना चाहिए ... – Pointy

+0

अगर यह – somemvcperson

+0

मदद करता है तो कच्चे आउटपुट को मेरी मूल पोस्ट में जोड़ देगा यदि AJAX कॉल पूरा होने पर आप अलर्ट बॉक्स में क्या देख रहे हैं? या यह सतर्क नहीं है? – MoarCodePlz

उत्तर

5

JSON सही नहीं है यही कारण है,

[{"id":"1", somevar:"hello"}]

जरूरतों

[{"id":"1", "somevar":"hello"}]

JSON दोहरे उद्धरण चिह्नों की आवश्यकता हो।

http://jsfiddle.net/robert/Y6ypV/

एक मूल्य दोहरे उद्धरण में एक स्ट्रिंग, या एक नंबर, या सही या गलत या नल, या एक वस्तु या एक सरणी हो सकता है। इन संरचनाओं को घोंसला जा सकता है।

लेते हैं: http://www.json.org/

+0

क्षमा करें टाइपो, बस टाइपिंग कॉपी कर रहा था अन्य मशीन से, यह सही ढंग से अन्य मशीन पर डेटा के चारों ओर उद्धरण शामिल करता है। मेरी पोस्ट अपडेट करेंगे। – somemvcperson

+0

http://jsonlint.com/ महान जेसन वैलिडेटर है - आज इसका उपयोग कर रहा है :-) –

+0

मुझे नहीं पता था कि एक जेसनलिंट था, मैं अपनी बिल्ड पाइपलाइन में जेएसलिंट का उपयोग कर रहा हूं ... अब वहां जेसन की जांच करेगा। .. * संपादित करें * मान्य जेसन – somemvcperson

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

  • कोई संबंधित समस्या नहीं^_^