/ / Json प्रतिक्रिया प्राप्त करने में सक्षम नहीं - jquery, ajax, json, jsonp

Json प्रतिक्रिया प्राप्त करने में सक्षम नहीं है - jquery, ajax, json, jsonp

    var myurl="https://raw.github.com/currencybot/open-exchange-rates/master/latest.json";

$.ajax(
{
url:myurl,
type:"POST",
dataType:"JSONP",
success:function(myObj)
{
console.log(myObj);
}
});

मैंने शॉर्टहैंड getJSON का उपयोग करने की कोशिश की, लेकिन कंसोल ने मुझे "POST अनुरोध का उपयोग करें" एक त्रुटि दी। और ऊपर दिए गए कोड का उपयोग करके, कंसोल बताता है कि "अमान्य लेबल"।

उत्तर:

उत्तर № 1 के लिए 1

उपयोग $ .GetJSON (), यह आशुलिपि समारोह है और बहुत कुशल भी है।

var myurl="https://raw.github.com/currencybot/open-exchange-rates/master/latest.json";

$.getJSON(
myurl,
function(data) {
//manipulate your json
});

लेकिन JSONP अनुरोध के लिए, आपके पास URL में कॉलबैक पैरामीटर होना चाहिए

प्रलेखन पर उद्धृत[यहाँ]

यदि URL में स्ट्रिंग "कॉलबैक =?" (या इसी तरह, जैसा कि सर्वर-साइड एपीआई द्वारा परिभाषित किया गया है), अनुरोध को JSONP के बजाय माना जाता है।


जवाब के लिए 0 № 2

आपको कोड बदलना चाहिए, यह प्रयास करें:

$.post(
myurl,
{},
function(data){
alert(data);
},"json"
);

चर "डेटा" एक json वस्तु है।


जवाब के लिए 0 № 3

क्रॉस-डोमेन JSONP isn "t AJAX बिल्कुल नहीं। यह XMLHttpRequest का उपयोग नहीं करता है। यह एक डायनामिक स्क्रिप्ट तत्व से अधिक कुछ नहीं है जो जावास्क्रिप्ट कोड को लोड करता है।

प्रयत्न:


var req = $.ajax({
url : myurl,
dataType : "jsonp"
});

req.success(function(myObj) {
console.log(myObj);
});

req.error(function() {
console.log("some error occured");
});

मुझे लगता है कि अंतिम सर्वर "https: //raw.github।com "JSONP का समर्थन नहीं करता है। इसलिए आपको इस उपकरण तक पहुंचने के लिए संभवतः अपने सर्वर पर एक प्रॉक्सी समापन बिंदु बनाना होगा। मूल रूप से, अपने स्वयं के सर्वर पर एक समापन बिंदु बनाएँ जो उस विधि का उपयोग करने वाले डेटा को लोड करता है जो समझ में आता है (कर्ल, आदि)।" और इसे बिल्कुल वैसा ही लौटाता है। तब आप नियमित AJAX का उपयोग कर सकते हैं। आशा है कि मदद करता है