Javascript jQuery返回未定义的JSON

Javascript jQuery返回未定义的JSON,javascript,jquery,json,Javascript,Jquery,Json,我有一个发布到服务器的按钮。使用两个参数执行返回JSON对象的查询,效果很好。我想在单击按钮后立即用返回的JSON数据异步更新网页。我有一段代码返回未定义的值,或者只是所有JSON对象中的最后一个值。我不知道我做错了什么,有人能帮我指出正确的方向吗 $('#mybutton').click(function() { $.post('search.php', { regNo: $("#regNo").val(), datepicker: $(

我有一个发布到服务器的按钮。使用两个参数执行返回JSON对象的查询,效果很好。我想在单击按钮后立即用返回的JSON数据异步更新网页。我有一段代码返回未定义的值,或者只是所有JSON对象中的最后一个值。我不知道我做错了什么,有人能帮我指出正确的方向吗

$('#mybutton').click(function() {
    $.post('search.php', {
            regNo: $("#regNo").val(),
            datepicker: $(".datepicker").text()
        },
        function(data) {
            var obj = data.valueOf();

            $.each(obj, function(i) {
                $('#responsetxt').html("<b>"+obj[i].time+ "</b>");
            });
        },
        'json');
    });
});
如果未定义,则很可能是发送的数据有问题,或者没有匹配项

至于只得到最后一个,嗯。。。在您的.each中,您将重复覆盖ResponseText内容,因此。。。只剩下最后一个就不足为奇了。相反,考虑构建一个字符串,然后用构建的字符串调用循环。html:

试试:

$('#mybutton').click(function() {
$.post('search.php', {
        regNo: $("#regNo").val(),
        datepicker: $(".datepicker").text()
    },
    function(data) {
        $.each(data, function(i) {
            $('#responsetxt').html("<b>"+data[i].time+ "</b>");
        });
    },
    'json');
});});
我将丑陋的索引数据[I].time更改为简单的data.time


您确定正在从search.php获取所需的数据吗?如果可以,请包含search.php的内容。为什么要执行var obj=data.valueOf?只需使用数据。{id:10,regNo:357139052579492,时区:0,时间:1393344365,原因:3}-返回JSONTANKS Eshan的样本,尝试了它,但它仍然返回未定义且未返回H。它返回最后一个值的时间。然后查看Niet的答案。因为没有数据,所以您将无法定义。您得到的是最后一个,因为您在每个循环中不断覆盖$'responseText'的值。请尝试alertobj[i]。改为在循环中提醒时间,看看是否可以提醒所有对象的时间,还是最后一个对象的时间。
` $('#mybutton').click(function() {
$.post('search.php', {
        regNo: $("#regNo").val(),
        datepicker: $(".datepicker").text()
    },
    function(data) {
        $.each(data, function(i) {
            $('#responsetxt').html("<b>"+data.time+ "</b>");
        });
    },
    'json');
});});`