我正在開發一個應用程序,它會對PHP腳本執行Ajax調用,該腳本返回json_encode
數據。json解析錯誤 - 未捕獲TypeError:不能使用'in'運算符來搜索'1009'
數據正在按預期從PHP返回。但是,當試圖解析它在jQuery中我得到一個控制檯錯誤:
Uncaught TypeError: Cannot use 'in' operator to search for '1009'
其次是我的數據數組的副本。
的JSON編碼數據的一個例子是在這裏:
[
{"u_id":"21747","fname":"Andy","lname":"","email":"[email protected]"},
{"u_id":"3748","fname":"John","lname":"","email":"[email protected]"},
{"u_id":"451750","fname":"Peter","lname":"","email":"[email protected]"},
]
我使用jQuery如下。所需的輸出是它顯示人的電子郵件地址列表的tickbox旁邊:
$(function() {
$('#myModal').on('shown.bs.modal', function() {
$(".modal-body").html("Loading...");
$.ajax({
url: "<?= $router->pathFor('/admin/ajax/find-user'); ?>",
data: {
searchInput: $('#searchInput').val()
},
method: "POST",
}).done(function(data) {
//$(".modal-body").html(data);
$.parseJSON(data);
$.each(data, function(key, value){
$(".modal-body").html('<input type="checkbox" id="' + value.u_id + '">' + value.email + "<br>");
});
});
});
});
有什麼不對的,又是什麼錯誤均值(我看不到1009我的數據在任何地方,雖然不知道這是什麼,它實際上意味着)
*「我只是爲了簡潔而顯示.done部分」*太簡短。什麼是'數據'?它來自哪裏?如果你通過'ajax'加載它,並用一個適當的Content-Type頭返回它,它可能被解析成一個對象數組,但是...#: –
'console.log(data);'and paste你的輸出成問題。 – divix
@ T.J.Crowder已更新,以顯示正在使用的jquery – Andy