Jquery 如何正确地将$用于json数组?
你好 首先在php中生成json: 第二个-jquery:Jquery 如何正确地将$用于json数组?,jquery,each,Jquery,Each,你好 首先在php中生成json: 第二个-jquery: 请告诉我为什么会出现错误以及如何正确使用$。每个?当您通过Ajax创建请求时,它将使用输出的数据 当您使用“return”时,您不会输出任何内容 您必须将“return”更改为“echo”或“print”或其他任何内容。您应该用文件替换数据.d 它需要一个对象或数组来迭代 :- 元。每个 :-一个通用迭代器函数,可用于无缝迭代对象和数组 因此,文件是您的对象,而不是data.d $("#form").ajaxForm({
请告诉我为什么会出现错误以及如何正确使用
$。每个?当您通过Ajax创建请求时,它将使用输出的数据
当您使用“return”时,您不会输出任何内容
您必须将“return”更改为“echo”或“print”或其他任何内容。您应该用文件替换数据.d
它需要一个对象或数组来迭代
:-
元。每个
:-一个通用迭代器函数,可用于无缝迭代对象和数组
因此,文件是您的对象,而不是data.d
$("#form").ajaxForm({
url: './index.php?page=test',
success: function(data){
var files = JSON.parse(data);
console.log(files);
//files in console.log:
// Object {1: "./DIR/90_1409499383.jpg",
// 2: "./DIR/90_1409499383.jpg"}
$.each(files, function(key, value) {
console.log('test' + key + ":" + value)
});
}
}).submit();
这是我试图纠正的
$("#form").ajaxForm({
url : './index.php?page=test',
//you miss this
dataType : 'json',
success : function(data){
// your server return data not data.d
$.each(data, function(key, value) {
console.log('test' + key + ":" + value);
});
}
}).submit();
您可以使用标题('Content-Type:application/json'),这样就不必在客户端使用JSON.parse
$ArrImage = array();
foreach(...){
$ArrImage[] = $PathToThumbnailImage;
}
header('Content-Type: application/json');
echo json_encode($ArrImage);
当您不确定返回的内容是否为JSON时,您可以编写:
success: function( data ) {
data = $.type( data ) === 'string' ? JSON.parse( data ) : data;
$.each(data, function( key, value ) {
.......
});
}
....
bcoz文件是您解析的对象尝试在服务器中使用echo not return,然后告诉我在conole.log中看到了什么
$ArrImage = array();
foreach(...){
$ArrImage[] = $PathToThumbnailImage;
}
header('Content-Type: application/json');
echo json_encode($ArrImage);
success: function( data ) {
data = $.type( data ) === 'string' ? JSON.parse( data ) : data;
$.each(data, function( key, value ) {
.......
});
}
....