【发布时间】:2013-05-24 15:42:01
【问题描述】:
下面是我的 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 应该写“无效的用户名或密码,请重试”,但它显示 undefine。
错误:函数(消息){ console.log(message.code); }但是,我可以阅读以下内容:
成功:函数(数据){ 控制台.log(data.id); }【问题讨论】:
-
“服务器发送错误”是指当 login() php 函数返回错误或服务器返回错误时?据我了解,如果 login() 返回错误,这不会触发 ajax 错误处理程序但仍然成功{服务器已正确响应}
标签: php javascript jquery ajax cakephp