下面是我的 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); }