在另一个名为“混淆如何正确使用jquery getJSON”的帖子中,我在如何使我的ajax调用工作方面遇到困难,人们的评论帮助了我。但我的jquery ajax调用仍然无效:
$(document).ready(function(){
$("input#autofill").click(function()
{
$.get("last_year_ISBN.php",
function(data){
alert(data);
var isbns = $.parseJSON(data); //creates a javascript object.
var elements = $('#booklist .ISBN_number');
$.each(isbns, function(index, obj){
alert("hello");
$(elements[index]).val(obj);
});
},
"json");
});
});
第一个警报(数据)正确打印出json,所以我知道ajax调用有效。但是当我用firebug进行调试时,我发现变量isbns设置为null。此外,当我在回调函数中添加一个额外的警报(“hello”)时,它没有被调用,也没有出现在屏幕上。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
尝试使用$.getJSON()
这会自动将您的回复视为JSON。
答案 1 :(得分:0)
尝试通过jsonlint.com等验证程序运行警报“json”。如果它不是有效的json,它将无法创建对象。