Php 未捕获类型错误:无法使用';在';jquery/json中的运算符
我在php中创建一个json,如下所示:Php 未捕获类型错误:无法使用';在';jquery/json中的运算符,php,jquery,json,Php,Jquery,Json,我在php中创建一个json,如下所示: $details= array(); $ret = array(); for($i=0;$i<3;$i++) { $details["name"] = "name".$i; $ret[] = $details;} 在jQuery ajax中: echo json_encode($ret,JSON_UNESCAPED_UNICODE); die(); $.ajax({ url: "index2.php?id=upload",
$details= array();
$ret = array();
for($i=0;$i<3;$i++) { $details["name"] = "name".$i; $ret[] = $details;}
在jQuery ajax中:
echo json_encode($ret,JSON_UNESCAPED_UNICODE);
die();
$.ajax({
url: "index2.php?id=upload",
type: "POST",
data: new FormData($("#form")[0]),
contentType: false,
cache: false,
processData:false,
returnType:"json",
success: function(data)
{
console.log('names:'+JSON.stringify(data));
$.each(data, function(i)
{
console.log('name:'+data[i]['name']);
}
},
第一个控制台日志打印,但第二个:
我得到这个错误:
jquery-2.2.3.min.js:2未捕获类型错误:无法使用“in”运算符
在中搜索“长度”
[{“名称”:“名称1”},{“名称”:“名称2”},{“名称”:“名称3”}]
我也尝试
$.each(JSON.parse(data), function(i)
{ ..}
但我打印的是空的:
名称:未定义
当javascript将json字符串转换为javascript数据类型时,它将是如下所示的对象数组
Array
(
[0] => stdClass Object
(
[name] => name0
)
[1] => stdClass Object
(
[name] => name1
)
[2] => stdClass Object
(
[name] => name2
)
)
因此,您的javascript应该是
另外returnType:“json”
应该是dateType:“json”
据我所知,没有returnType:
$.ajax({
url: "index2.php?id=upload",
type: "POST",
data: new FormData($("#form")[0]),
contentType: false,
cache: false,
processData:false,
dateType:"json",
success: function(data)
{
console.log('names:'+JSON.stringify(data));
$.each(data, function(i,v)
{
console.log('name:'+v.name);
}
},
当javascript将json字符串转换为javascript数据类型时,它将是如下所示的对象数组
Array
(
[0] => stdClass Object
(
[name] => name0
)
[1] => stdClass Object
(
[name] => name1
)
[2] => stdClass Object
(
[name] => name2
)
)
因此,您的javascript应该是
另外returnType:“json”
应该是dateType:“json”
据我所知,没有returnType:
$.ajax({
url: "index2.php?id=upload",
type: "POST",
data: new FormData($("#form")[0]),
contentType: false,
cache: false,
processData:false,
dateType:"json",
success: function(data)
{
console.log('names:'+JSON.stringify(data));
$.each(data, function(i,v)
{
console.log('name:'+v.name);
}
},
关于
data[i].name
?var newData=JSON.stringify(data);$。每个(newData,function(i){console.log('name:'+newData[i]['name']);//或检查一下newData[i].name}
显示实际进入浏览器的JSON,而不是生成它的PHP代码。此外,引用的代码根本不会运行(语法错误,不仅仅是在结尾)。与其重新键入您询问的代码,不如复制并粘贴它以避免引入不相关内容。向我们显示console.log('names:'+JSON.stringify(data));
使用链接修改您的问题。不要将其放在注释中data[i].name
?var newData=JSON.stringify(data);$。每个(newData,function(i){console.log('name:'+newData[i]['name']);//或者检查一下newData[i].name}
显示实际进入浏览器的JSON,而不是生成它的PHP代码。此外,引用的代码根本不会运行(语法错误,不仅仅是在结尾)。与其重新键入您询问的代码,不如复制并粘贴它,以避免引入不相关内容。向我们显示console.log('names:'+JSON.stringify(data));
使用链接修改您的问题。不要将其放在评论中