【发布时间】:2020-06-29 03:59:01
【问题描述】:
我正在从数据库中检索数据。当我尝试使用console.log(response) 在控制台中输出它时,我会得到这个:
Array
(
[deptCode] => Econ
[collegeCode] => BA
[deptName] => Economics
)
我希望得到 Econ, BA, and Economics 的值。
我的问题是当我使用 response["deptCode"] 将它从 PHP 传递到 AJAX 时,我会得到 undefined。
我尝试过data = JSON.parse(response);,但我会得到错误:
Uncaught SyntaxError: Unexpected token A in JSON at position 0
at JSON.parse (<anonymous>)
我也试过这个:
for(var key in response){
console.log(response[key]);
}
但结果是这样的: image result from console
这是我的db.php:
public function getDept($code){
$sql = 'SELECT * FROM department WHERE "deptCode" = :code';
$stmt = $this->conn->prepare($sql);
$stmt->execute(['code'=>$code]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return $result;
action.php:
if(isset($_POST['edit_id'])){
$id = $_POST['edit_id'];
$row = $db->getDept($id);
echo json_encode($row);
}
索引:
$("body").on("click", ".editBtn", function(e){
e.preventDefault();
edit_id = $(this).attr('id');
$.ajax({
url: "action.php",
type: "POST",
data:{edit_it:edit_id},
success:function(response){
console.log(response);
//data = JSON.parse(response);
//for(var key in response){
// console.log(response[key]);
//}
}
})
})
任何帮助将不胜感激:)
【问题讨论】:
-
使用您的浏览器开发工具(网络面板)检查请求的实际回答。
-
您的数据库查询可能没有返回任何记录,因为您正在将输入的值与 string 进行比较。如果您想在 列 中以名称
deptCode查找它,那么当然需要去掉引号。
标签: javascript php sql json ajax