[英]issue while looping a json array
我从json格式的ajax调用中检索选择的某些选项。 我设置为在选择中显示新选项(替换现有选项)的代码如下:
success: function (data){
var $select = $('#dettaglio');
$select.html('');
$.each(data, function(key, val){
$select.append('<option id="' + val.id + '">' + val.text +'</option>');
})
}
而json是这样的:
[
{"id":"1","text":"J-Invest Spa"},
{"id":"2","text":"J-A Holding S.r.l."},
{"id":"3","text":"J-Invest Advisory & Servicing S.r.l."},
{"id":"4","text":"J-Invest Immobiliare e Consulenza S.r.l."}
]
运行此代码会导致不容易理解的错误:
TypeError:无效的“ in”操作数e
... === n ||“函数”!== n &&(0 === t ||“ number” ==类型t && t> 0 && t-1在e)} r = b(o); var _ = { } ...
jQuery引发错误,但这对查看我的代码错误在哪里没有帮助。 有什么提示吗?
是的,我从mysql获取一个数组,并使用json_encode
进行编码。 从服务器接收的数据将始终为string
类型。 您需要对其进行解析以转换为JSON格式。 你可以试试这个吗?
success: function(data) {
data = JSON.parse(data);
或者,如果您使用的是旧版IE,也可以尝试:
success: function(data) {
data = $.parseJSON(data);
最简单的方法是通过添加以下内容在PHP上进行一些更改:
header('Content-type: application/json');
只是。 jQuery自动设置为检测返回数据的编码。 如果以后决定发送其他内容,则只需更改标题即可。
警告:在输出ANY之前,此函数必须是要执行的第一个函数。 否则,它将向您抛出错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.