我正在尝试在laravel中创建一个JSON数组,然后尝试通过ajax jquery获取它 . 它确实创建了JSON,但是从jquery中获取它时会产生问题 . 我无法在那里获取键值对 .
这是在Laravel(PHP)中创建JSON数组的代码:
foreach ($userIds as &$userId) {
$data[] = json_encode(array("Id"=>$id,"Name"=>$name,"HashId"=>$hashId));
}
return $data;
PS . $data
显示了这种反应:
[
"{"Id":"111","Name":"abc","HashId":"I1J6EDO"}",
"{"Id":"112","Name":"xyz","HashId":"MDLYW9K"}"
]
这就是我试图调用ajax req的方式:
$.ajax({
type: 'GET',
url: '/url/goes/here',
dataType: "json",
success: function(data) {
$.each(data, function(key, value){
$.each(value, function(key1, value1){
console.log(value1);
});
});
}
});
控制台显示错误: Uncaught TypeError: Cannot use 'in' operator to search for..
经过一些搜索,我明白可能响应是字符串JSON数组而不是JSON数组或obj(如预期的那样)
我需要帮助才能获取键值对 . 我也愿意改变我在laravel中编码JSON的方式 . 请帮忙,因为我是JSON和AJAX的新手
1 回答
您应该在构建数组后对所有内容进行编码