ajax发送请求成功,服务器也响应成功,但是前台就是接不到数据,调试了半天原来是在调试接口过程print_r()其中一步,和最后返回的值一起发回前台,导致最后返回的数据不是json格式,无法获取数据;以下是代码:
<?php
require_once "../../config.php";
require_once "../../functions.php";
session_start();
$userId =$_SESSION["user_id"];
print_r($userId);就是这一步没有注释;
$connect =connect();
$sql = "SELECT * FROM users WHERE id = '{$userId}'";
$queryResult = query($connect,$sql);
// print_r($queryResult);
$response = ['code'=>0,'msg'=>'用户名或密码错误'];
if($queryResult){
$response = ['code'=>1,'msg'=>'登陆成功','avatar'=>$queryResult[0]["avatar"],'nickname'=>$queryResult[0]["nickname"]];
// session_start();
};
header("Content-Type:application/json;charset=utf-8");
echo json_encode($response);
?>
所以千万记得把过程中的输出给注释掉!