javascript - 如何通过ajax接收、发送和存储json数组

标签 javascript php ajax json

我想从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/

相关文章:

php - Foreach 视频创建模态

javascript - JQuery - 从一个点循环遍历类的每个案例

javascript - jquery select2 - 通过 AJAX php 格式化结果

javascript - 将经典 promise 与异步相结合

javascript - 使用跨域Ajax进行搜索?

javascript - AngularJS:REST API 调用的表达式值

php - 从 mysql 中的 3 个不同表中选择和排序

php - 如何计算SQL时间和PHP时间之间的时间差

php - AJAX 全局数组存储

javascript - TypeError : access to strict mode caller function censoered 的原因