2011-03-08 10 views
5

का उपयोग कर मैं एक "संसाधन स्क्रिप्ट के रूप में व्याख्या लेकिन MIME प्रकार आवेदन/json के साथ स्थानांतरित" गूगल क्रोम का JavaScript कंसोल का उपयोग कर त्रुटि संदेश प्राप्त हो रहे हैं।"संसाधन स्क्रिप्ट के रूप में व्याख्या लेकिन MIME प्रकार आवेदन/json के साथ स्थानांतरित" यूट्यूब के जावास्क्रिप्ट एपीआई

मैं वर्तमान में अपने स्थानीय कंप्यूटर पर निम्न कोड चल रहा हूँ:

var URL = ""; 
var YOUTUBE_ROOT = "http://gdata.youtube.com/feeds/api/videos?alt=jsonc&v=2"; 
var start_index = "&start-index=1"; 
var callback = "&jsonp=?" 
function searchYouTube() 
{ 
    var q = encodeURIComponent(jQuery("#query").val()); 
    var query = "&q="+q; 
    URL = YOUTUBE_ROOT+start_index+query+callback; 
    alert(URL); 
    $.getJSON(URL, function(data) { 
     $.each(data.items, function(i, item) { 
      alert(item); 
     }); 
    }); 


} 


jQuery(document).ready(function() { 
    jQuery("#searchYouTube").click(searchYouTube); 

}); 

मैं क्या त्रुटि पैदा जान सकती हूँ?

मैंने 'callback =?' का उपयोग करने का प्रयास किया है , 'jsoncallback =?' कॉलबैक के लिए, लेकिन सभी समान त्रुटि संदेश की ओर जाता है।

मई मुझे पता है कि मैं इसे कैसे ठीक करूं?

सर्वश्रेष्ठ सादर।

उत्तर

8

जब से तुम JSONP उपयोग करते हैं, तो आप इस IMHO की तरह कोड चाहिए:

$.ajax(URL, { 
    crossDomain:true, 
    dataType: "jsonp", 
    success:function(data,text,xhqr){ 
     $.each(data, function(i, item) { 
      alert(item); 
     }); 
    } 
}); 

सही पैरामीटर callback है, लेकिन jQuery उत्पन्न करता है एक स्वतः तो यह निर्दिष्ट नहीं है।

+0

वाह धन्यवाद! ऐसा लगता है कि जावास्क्रिप्ट और JQuery के संबंध में मुझे अभी भी बहुत कुछ सीखना है। डेटा अब दिखा रहा है। – DjangoRocks

+0

JSONP का उपयोग तब किया जाता है जब आपको क्रॉस डोमेन डेटा तक पहुंचने की आवश्यकता होती है। असल में यह सिर्फ एक चाल है: आपके पृष्ठ में एक जावास्क्रिप्ट स्क्रिप्टैग डाला गया है और प्रतिक्रिया में एक जावास्क्रिप्ट कॉलबैक एम्बेडेड है। – jujule

+4

यह उल्लिखित त्रुटि ('संसाधन व्याख्या' ... आदि) को हल नहीं करता है, कम से कम मेरे लिए नहीं, और जब भी 'एप्लिकेशन/जेसन' के साथ सेवा करता है। यह केवल 'टेक्स्ट/जावास्क्रिप्ट' के रूप में कार्य करते समय दूर हो जाता है, जिसमें कोई ध्यान देने योग्य दुष्प्रभाव नहीं होते हैं। – kasimir

4

यह एक चेतावनी है, कोई त्रुटि नहीं है, और आपके कोड को काम करने से नहीं रोकना चाहिए।

गलती YouTube के साथ गलत सामग्री-प्रकार के साथ डेटा की सेवा के लिए है।

0

यह क्रोम में एक क्विर्क है और यह एक सामान्य ब्राउज़र अनुरोध से एक्सएचआर अनुरोध को कैसे अलग करता है।

प्रदर्शित होने के संदेश को रोकने के लिए और भी क्रोम प्रतिक्रिया, कंसोल में json के रूप में अच्छी तरह से प्रस्तुत करना आपके अनुरोध यूआरएल के लिए एक क्वेरी स्ट्रिंग संलग्न करने के लिए अनुमति देने के लिए।

, उदा,

var xhr_object = new XMLHttpRequest(); 

var url = 'mysite.com/party_in_my_pants'; // Using this one, Chrome throws error 

var url = 'mysite.com/party_in_my_pants?'; // This one, Chrome is sexy. 

xhr_object.open('POST', url, false); 
संबंधित मुद्दे

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