我的jquery看起来像这样
var formContent ="action=view&msgid="+id;
$.getJSON("myserv.php",formContent, function(json){
$.each( json, function(k, v){`
alert( "Key: " + k + ", Value: " + v );`
});
});
在我的php文件中,我有一个i json编码的数组
while($message->fetch()) {
$arr[$i]["read"]=$message->test;
$arr[$i]["messageid"]=$message2->test2;
$arr[$i]["subject"]=$message2->test3;
$arr[$i]["text"]=$message2->test4;
}
$str=json_encode($arr);
return $str;
警报返回Key:0 Value: [Object Object]
知道我怎么能让它返回正确的结果?如何在div或span中很好地显示结果?
答案 0 :(得分:1)
您将它全部放在单个单元格数组中。然后在你的回调中,在jQuery中,你试图遍历数组单元格。我假设你想保留$ arr一个数组(猜测你可以有多个'read','subject'等)所以你应该将你的js更改为:
var formContent ="action=view&msgid="+id;
$.getJSON("myserv.php",formContent, function(json){
$.each(json, function(i){
$.each(json[i], function(k, v) {
alert( "Key: " + k + ", Value: " + v ); });
});
});
});
或者,如果您不想要单个单元格数组,并且只返回一个'read','subject等,那么将PHP更改为:
if($message->fetch()) {
$arr["read"]=$message->test;
$arr["messageid"]=$message2->test2;
$arr["subject"]=$message2->test3;
$arr["text"]=$message2->test4;
$str=json_encode($arr);
}
else {
$str=json_encode(Array('error' => 'No message'));
}
return $str;