我有以下代码:
$.getJSON('../_javascripts/array.php')
.success(function(response) { console.info(response); alert("success"); })
.fail(function(jqXHR, status, error){ console.info(error); alert("error"); });
哪个显示控制台内的输出,但是,我试图访问该信息(显示在控制台中 - 它是一个数组),似乎无法。
控制台输出
Object {P5yTZ947: Array[3], 11y6tdo8: Array[3], 66j8ttk2: Array[3], 27c7uqv0: Array[3], 44f6hvt7: Array[3]…}
我尝试了以下内容:
alert(response);
alert(response[0]);
var array = response;
所有这些都带回undefined
。
显然我做错了什么但不能完全理解。欢迎任何建议,反馈和意见。
答案 0 :(得分:0)
从控制台输出的内容看起来像array.php返回的是一个包含数组的对象。
答案 1 :(得分:0)
您对响应的处理必须来自$.getJSON();
也就是说,成功情况下响应对象的范围仅在成功函数内。把你的成功处理代码放在那里(或从那里调用),你应该好好去。
例如:
function doSomethingWithSuccessResponse( response ){
console.log( response );
// Execute the rest of your success case logic here
}
$.getJSON('../_javascripts/array.php')
.success(function(response) { doSomethingWithSuccessResponse(response); })
.fail(function(jqXHR, status, error){ console.info(error); alert("error"); });
或者,更简洁:
function doSomethingWithSuccessResponse( response ){
console.log( response );
// Execute the rest of your success case logic here
}
$.getJSON('../_javascripts/array.php')
.success(doSomethingWithSuccessResponse)
.fail(function(jqXHR, status, error){ console.info(error); alert("error"); });
同样对于失败案例 - 在失败回调中执行失败处理逻辑。
看起来你的API正在返回一个带有嵌入式数组的对象:
Object {
P5yTZ947: Array[3],
11y6tdo8: Array[3],
66j8ttk2: Array[3],
27c7uqv0: Array[3],
44f6hvt7: Array[3]…
}
使用object-looping semantics迭代对象。然后使用内部循环遍历数组的元素:
for (var key in response) {
if (response.hasOwnProperty(key)) {
// key is now "P5yTZ947" or "11y6tdo8", etc
var innerArray = response[key];
// Loop over the values of the inner array
for( var i = 0; i < innerArray.length; i++ ){
console.log( innerArray[i] ); //
}
}
}
答案 2 :(得分:0)
由于我们无法访问您的array.php
文件,因此很难回答您。尝试使用以下代码调试response
输出(您需要打开开发人员控制台):
$.getJSON('../_javascripts/array.php', function( data ) {
$.each( data, function( key, value ) {
console.log( key );
for( var i in value ) {
console.log( " " + JSON.stringify(value[i]) );
}
});
});
尝试在 Google Chrome 控制台中使用断点来检查data
(Ajax响应)变量内容。