带有[echo json#encode';]的消息(数组)php到ajax不显示数据
我试图将一组数据从PHP发送到ajax。我正在使用echo json_encode来做这件事。当我这样做时,我尝试“console.log(data)”来查看响应数据,但它没有显示任何内容。如何让它显示数据?我真的不知道我错过了什么。我有这个剧本:带有[echo json#encode';]的消息(数组)php到ajax不显示数据,php,jquery,arrays,json,ajax,Php,Jquery,Arrays,Json,Ajax,我试图将一组数据从PHP发送到ajax。我正在使用echo json_encode来做这件事。当我这样做时,我尝试“console.log(data)”来查看响应数据,但它没有显示任何内容。如何让它显示数据?我真的不知道我错过了什么。我有这个剧本: var scard = $('#cardid').val(); $.ajax({ type: 'GET', url: 'cardapi.php?scard=' + scard, success: function (data)
var scard = $('#cardid').val();
$.ajax({
type: 'GET',
url: 'cardapi.php?scard=' + scard,
success: function (data) {
console.log($.parseJSON(data));
console.log(data);
}
});
这是我的cardapi.php代码
if(isset($_GET["scard"])){
$scard = $_GET["scard"];
$data = array();
$sql = "SELECT * FROM training_record WHERE cardref_no='$scard'";
$q = sqlsrv_query($conn, $sql);
while($rw = sqlsrv_fetch_array($q, SQLSRV_FETCH_ASSOC)){
array_push($data,[
"employee_no" => $rw["employee_no"],
"dept_id" => $rw["dept_id"],
"name_th" => $rw["name_th"],
"surname_th" => $rw["surname_th"],
"signed_status" => 1,
]);
}
echo json_encode($data);
}
所以我试着遵循这一点
它仍然没有显示任何东西。请告诉我为什么
谢谢。您可以尝试以下方法:
- 始终检查
执行的结果sqlsrv\u query()
- 始终尝试使用参数化语句。函数
同时执行语句准备和语句执行,并可用于执行参数化查询李>sqlsrv_query()
- 检查
调用的结果json\u encode()
- 修复键入错误(
应为“已签名状态”=>1,
)“已签名状态”=>1
<?php
if (isset($_GET["scard"])) {
$scard = $_GET["scard"];
$data = array();
$sql = "SELECT * FROM training_record WHERE cardref_no = ?";
$params = array($scard);
$q = sqlsrv_query($conn, $sql, $params);
if ($q === false) {
echo "Error (sqlsrv_query): ".print_r(sqlsrv_errors(), true);
exit;
}
while ($rw = sqlsrv_fetch_array($q, SQLSRV_FETCH_ASSOC)) {
$data[] = array(
"employee_no" => $rw["employee_no"],
"dept_id" => $rw["dept_id"],
"name_th" => $rw["name_th"],
"surname_th" => $rw["surname_th"],
"signed_status" => 1
);
}
$json = json_encode($data);
if ($json === false) {
echo json_last_error_msg();
exit;
}
echo $json;
}
?>
您是否尝试用示例值而不是生成的值回显示例数组?console.log(数据))
是语法错误。请从console.log(data)中删除最后一个括号代码>所以你得到console.log(数据)代码>@u\u mulder对不起,我在这里打错了。那里没有发生错误。是的,我尝试了这个“echo json_encode([“hi”=>“test”,“hi2”=>“test2”]);”。它显示。我不明白(@RobinGillitzerOh谢谢,我已经知道发生了什么。错误是“格式错误的UTF-8字符,可能编码不正确”我接下来该怎么办?@Meawmill您可以尝试使用json\u encode($data,json\u invalid\u UTF8\u ignore)
忽略无效字符,但阅读`可能是一个很好的起点。