我正在运行查询到数据库,它获取一行,我想将其作为数组返回,可以作为数组['min'],数组['max']等进行访问,如果我用特定索引回显它,它在ajax中正确显示值但我无法将完整的行传递给ajax文件。
PHP文件:
<?php
// Database logic here
$calid = reset($_POST);
require '../incs/connect.php';
$sql=mysqli_query($con, "SELECT * FROM calcus_sets WHERE sets_id=$calid ");
WHILE($row=mysqli_fetch_array($sql))
{
echo $row['min']; break;
}
mysqli_close($con);
?>
JS档案:
function DB_Fetecher(ops){
$.ajax({
type: "POST",
data: {ops},
url: "calcus_es1-fetcher.php",
success: function(res)
{
// alert( res );
alert(res);
}
});
}
此代码从mysql获取正确的值,但我想将完整行传递给ajax,然后使用ajax本身的每个索引放入文本框。
答案 0 :(得分:1)
您可以通过以下方式传递数组:
<?php
// Database logic here
$calid = reset($_POST);
require '../incs/connect.php';
$sql=mysqli_query($con, "SELECT * FROM calcus_sets WHERE sets_id=$calid ");
$result = array();
WHILE($row=mysqli_fetch_array($sql))
{
$result[] = array( "min" => $row['min'], "max" => $row['max'] );
}
mysqli_close($con);
echo json_encode( $result );
?>
在您的js上,请务必指定dataType:"json",
function DB_Fetecher(ops){
$.ajax({
type: "POST",
data: {ops},
url: "calcus_es1-fetcher.php",
dataType:"json",
success: function(res)
{
// alert( res );
console.log(res);
}
});
}
注意:建议在调试时使用console.log(res);
而不是alert()
。