繁体   English   中英

循环JSON数组时出现问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM