這是一個非常簡單的問題,所以請不要開玩笑......我已經給了一個web服務的URL,它將爲我提供一個JSON對象。我想使用jQuery的的getJSON方法,例如...使用jQuery Ajax來返回一個JSON對象
var myObj = $.getJSON("https://www.myurl/");
然而,這ISN#牛逼的工作,當我使用的console.log(myObj.toSource()),我只是似乎得到了很多的JavaScript AF寫到控制檯而不是我的對象。我知道我可以添加一個回調用這種方法,我應該做這樣的事情:
var thisJsonObj;
$.getJSON("https://www.myurl/", function(result){
thisJsonObj = result;
});
console.log(thisJsonObj.toSource());
這不起作用,要麼...我要去哪裏錯了?該URL正在工作並且正確。
如果是跨域調用,請在jquery中嘗試使用jsonp而不是json。請記住在服務器端代碼中添加「回調」。 Jquery將永遠不會僅使用json進行跨域調用,但是您可以編寫自己的Ajax函數來避免此限制。 – Tom
您對console.log的調用在http請求啓動後立即執行,但您的回調在http請求完成之前不會被調用,所以thisJsonObj不會在調用console.log時設置。如果您將console.log調用移入回調,您應該看到正確的結果 – jjwchoy