我有以下代码,我想访问初始调用外部的json。
var crimes = $.getJSON('url');
console.log(crimes);
控制台使用" responseJSON"记录对象元素,但我无法访问它。代码:
console.log(crimes[responseJSON]);
返回错误,指出respponseJSON未定义。我需要在另一个中循环浏览这个大型数据集以便查看,所以我只想调用它一次,而不是每次都在后面的循环中调用它。如何访问responseJSON对象?
答案 0 :(得分:1)
$.getJSON
会返回jqXHR
个对象,虽然它可能有responseJSON
属性,但您无法以这种方式(或此时)访问它。您必须“等待”,直到浏览器执行Ajax请求。您可以将回调传递给$.getJSON
,并在响应可用时调用。
来自jQuery documentation(改编):
$.getJSON( "ajax/test.json", function( data ) {
// access data here
});
success
回调传递返回的数据,该数据通常是JSON结构定义的JavaScript对象或数组,并使用$.parseJSON()
方法进行解析。
您似乎不熟悉Ajax,所以您一定要阅读jQuery tutorial about Ajax.
另请参阅:How do I return the response from an asynchronous call?