下面是我的 AJAX 方法,它能够连接到服务器:
$.ajax({
类型:'POST',
网址:$form.attr('action'),
数据:表格数据,
数据类型:'json',
成功:函数(数据){
控制台.log(data.id);
},
错误:函数(消息){
console.log(message.code);
}
});
下面是我为 cakephp UsersController 类创建的响应请求的方法:
公共功能登录(){
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return new CakeResponse(array('body'=> json_encode(
$this->Auth->user()),'status'=>200));
} 别的 {
$reply["code"] = "用户名无效或
密码,请再试一次";
返回新的 CakeResponse
(array('body'=> json_encode($reply),'status'=>500));
}
}
}
问题是,当服务器发送错误时,我无法读取 json 响应。下面截断的console.log 应该写“无效的用户名或密码,请重试”,但它显示未定义。
错误:函数(消息){
console.log(message.code);
}
但是,我能够阅读以下内容:
成功:函数(数据){
控制台.log(data.id);
}