我使用json_encode
从PHP发送数组,我试图使用AJAX和jQuery。
一切都好。
JSON结构是:
names{"p1":"John","p5":"Smith"}
jQuery代码是:
$.ajax({
type: "POST",
url: "return.php",
dataType: "json",
data: "id=56",
success: function(data) {
$(data.names).each(function(key, txt) {
alert(txt);
});
}
}
此代码不返回任何内容!我认为浏览器不会进入each
我该怎么办?
答案 0 :(得分:3)
$(data.names).each(function(key, txt) {
alert(txt);
});
使用它:
$.each(data.names, function(key, txt) {
alert(txt);
});
并且您提到的json似乎不正确:names{"p1":"John","p5":"Smith"}
这应该是这样的:
{
"names": {
"p1": "John",
"p5": "Smith"
}
}
你可以在这里查看你的json:http://jsonlint.com/
答案 1 :(得分:1)
我建议你使用jQuery的$ .getJSON(); http://api.jquery.com/jQuery.getJSON/ 但要直接回答你的问题;你没有关闭你的ajax()函数。
$.ajax({
type: "POST",
url: "return.php",
dataType: "json",
data: "id=56",
success: function(data) {
$(data.names).each(function(key, txt) {
alert(txt);
});
}
});
答案 2 :(得分:1)
在您的代码中,您只需使用 parseJSON ()。
$.ajax({ type: "POST", url: "return.php", dataType: "json", data: "id=56", success: function(data) { var d = jQuery.parseJSON(data); // ... do stuff } });