我正在开发一个应用程序,该应用程序对返回json_encode
数据的PHP脚本进行Ajax调用。
数据已按预期从PHP返回。但是当尝试在jquery中解析它时,出现控制台错误:
未捕获的TypeError:无法使用'in'运算符搜索'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如下。所需的输出是在复选框旁边显示人员的电子邮件地址列表:
$(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,尽管不确定这是否真正意味着什么?)
您需要首先解析JSON数据:
var parsedData = $.parseJSON(data);
但是,如果您的PHP脚本返回的JSON具有正确的Content-Type
,则无需这样做。如果您确保PHP脚本发送Content-Type: application/json
,则jQuery在将其提供给您之前会自动对其进行解析。因此,这是解决问题的另一种方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句