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