TypeError:a在第一行的jquery中未定义?

时间:2015-09-01 09:01:32

标签: javascript php jquery typeerror

因此,在我的代码中,当我按下#jsonclick按钮时,它会激活我的脚本,该脚本使用来自JSON页面的信息填充表格。我遇到的问题是我得到一个TypeError:a是未定义的,我不知道为什么。 这是我的代码:

jQuery函数

   $("#clickjson").click(function () {
    $.getJSON("gmessagegroup.php?gid=" + $('#gbox').val(), function (data) {
        $.each(data.messages, function (key, val) {
            if (data.messages[key].clientmessageid != undefined) {
                console.log(data.messages[key].clientmessageid + ":" + data.messages[key].from + " - " + data.messages[key].content);
                $("#messages tbody tr:last").after('<tr><td>' + data.messages[key].clientmessageid + '</td><td>' + escapeHtml(data.messages[key].from).replace("https://bn1-client-s.gateway.messenger.live.com/v1/users/ME/contacts/8:", "") + '</td><td id=' + data.messages[key].clientmessageid + ' contenteditable="true">' + escapeHtml(data.messages[key].content) + '</td></tr>');
            }
        });
    });

    setTimeout(function () {
        var message_status = $("#status");
        $("td[contenteditable=true]").blur(function () {
            var field_userid = $(this).attr("id");
            var value = $(this).text();
            $.post('groupedit.php', field_userid + "=" + value, function (data) {});
        });

    }, 1000);
});

代码在下拉列表中获取所选项目的值。我尝试了put和alert in,它正在推出正在推送给PHP的正确值。我不确定TypeError在哪里发挥作用,我所知道的是当我删除时?gid =&#34; + $(&#39;#gbox&#39;)。来自php结尾的val(),错误就消失了。问题是,我需要为php工作。有人可以告诉我为什么会这样吗?

感谢。

1 个答案:

答案 0 :(得分:1)

实际上在您的json response消息中找不到它为什么以a is undefined的形式回复,检查您的json数据是否有messages

if(data && data.messages.length) // check for messages
   $.each(data.messages, function (key, val) {
        if (data.messages[key].clientmessageid != undefined) {
            ...
        }
    });
}

Snapshop

enter image description here