Php $.ajax值未正确返回
我试图从数据库中获取从PHP数组到JavaScript数组的返回值。 到目前为止,我所做的是以字符串形式返回值,并希望每个值都作为数组 索引 这是我的jQuery AJAX调用:Php $.ajax值未正确返回,php,jquery,Php,Jquery,我试图从数据库中获取从PHP数组到JavaScript数组的返回值。 到目前为止,我所做的是以字符串形式返回值,并希望每个值都作为数组 索引 这是我的jQuery AJAX调用: $.ajax({ type: 'GET', url: "Profile_Control.php", data:"ajaxRequest=yes&id="+document.getElementById("compid").value,
$.ajax({
type: 'GET',
url: "Profile_Control.php",
data:"ajaxRequest=yes&id="+document.getElementById("compid").value,
success:function(data)
{
document.getElementById("asd").innerHTML=data;
}
});
这是到目前为止我的PHP脚本,它像字符串一样返回值,我想要数组索引中的每个值
$branches=Profile_Model::getCompanyBranches($_GET['id']);
while($row=mysql_fetch_array($branches))
{
echo $row[3];
}
现在我只回显从数据库返回的值的第3列,输出如下:
67.030867.020467.031167.020667.0357
我想要的结果应该是这样的
arr[0]=67.0308
arr[1]=67.0204
arr[2]=67.0311
arr[3]=67.0206
arr[4]=67.0357
我还尝试使用JSON_encode($row[3])用JSON编码数据代码>但它返回以下结果
"67.0308""67.0204""67.0311""67.0206""67.0357"
使用JS数组中最终需要的元素创建一个数组,然后json\u encode
该数组:
$rows = array();
while($row=mysql_fetch_array($branches)) {
$rows[] = $row[3];
}
echo json_encode($rows);
但是,data
将是成功回调中的一个数组,因此不能简单地将其分配给元素的innerHTML
属性。但由于这似乎是调试输出,所以只需将其替换为console.log(数据)
创建一个新数组,每个元素都是$row[3]
,通过json\u encode
发送新数组
现在您只需对每个$row[3]
单独进行json_编码。您应该使用对象:数据:{ajaxRequest:'yes',id:blah}
,而不是将字符串传递给数据。否则,您必须注意对values.thnx进行正确的编码,因为它对回复有效,但是您能否告诉我如何发送$row[4]
,以及如何从javascript访问它们,因为我需要这两列。这取决于结构。如果需要嵌套数组,请使用$rows[]=array($row[3],$row[4])
。但是,考虑创建一个有意义键的关联数组:<代码> $Real[] =数组(‘任意’=$$行[3 ],‘WORVER’=> $ROW(4))< /代码>。如果您的列名合适,请使用mysql\u fetch\u assoc
或mysql\u fetch\u object
,只需使用$rows[]=$row
这样你就能得到你想要的。请注意,JSON对象将包含从数据库获取的所有列。