我想从ajax调用中获取一个json数组并将其存储在一个数组中。我尝试了这段代码,但它不起作用。警报显示字符串 {"value":[1]},{"value":[2]} 。我需要转换此字符串在 JSON 数组中并存储在 myData 中。responseJSON 或任何其他内容是否有任何问题?请帮忙
调用电话
setInterval(function showUser(str) {
str="1";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
var myData=(xmlhttp.responseJSON);
window.alert(myData);
}
xmlhttp.open("GET","new.php?q="+str,true);
xmlhttp.send();
}, 1000)
这是new.php的代码
<?php
$conn =mysql_connect("localhost","root","") or die ("we couldn't connect!");
mysql_select_db("webauth");
$rs = mysql_query("SELECT * FROM test") or die(mysql_error());
while($row = mysql_fetch_array($rs))
{
echo '"{values":['.$row['value'].']}'.',';
}
}
?>
最佳答案
您没有正确返回 JSON 数组,因为数组元素周围没有 [ ]
。您应该只构建一个 PHP 数组并对其调用 json_encode
。
$result = array('values' => array());
while ($row = mysql_fetch_array($rs)) {
$result['values'][] = $row['value'];
}
echo json_encode($result);
当您提醒 myData
时,它应该显示
{ values: [1, 2] }
关于javascript - 如何通过ajax接收、发送和存储json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239520/