我正在使用CakePHP 2.4。
我希望前端使用ajax对我的CakePHP后端进行api调用。
假设这是要更改密码。
更改密码操作可能引发以下应用程序错误:
在我的前端,我有一个成功回调处理程序和一个错误回调处理程序。
错误回调处理程序处理所有非200请求调用,例如当我在操作中抛出NotFoundException或UnAuthorizedAccessException时。
成功回调处理程序处理所有200个请求调用,当然包括上述2种情况。
我的问题是:
如果我应该做2,如何在CakePHP中实现呢?
谢谢。
最佳答案
请勿将http错误代码用于系统错误,例如:
现在,使用成功处理程序,您可以将消息和代码流显示为:
创建Ajax帖子或提交表单,我向您展示帖子示例
var passwordValue = $('#password').val();
$.post( "/updatePassword", { passwordText: passwordValue })
.done(function(response) {
if(response.status === 'Success'){
// Success msg
// whatever
}else{
// Error msg
// whatever
}
});
json响应如下:
{
"status": "Failed/Success",
"message": "old password wrong."
}
在 Controller 中创建一个功能
public function updatePassword() {
$myModel = $this->MyModel->find('first' // YOUR CODE LOGIC);
if($this->request->is('ajax') {
$this->layout=null;
// What else?
echo json_encode($myModel);
exit;
// What else?
}
}
做这样的事情,希望它能解决您的查询!
关于ajax - 如何使用CakePHP处理json api调用的应用程序错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21248913/