gpt4 book ai didi

php - Javascript 在读取 cakephp 发送的 json 服务器错误响应后说未定义

转载 作者:行者123 更新时间:2023-11-30 10:31:18 25 4
gpt4 key购买 nike

下面是我的能够连接到服务器的 AJAX 方法:

$.ajax({            type: 'POST',            url: $form.attr('action'),            data: formData,            dataType: 'json',            success: function(data){                console.log(data.id);           },            error: function(message){                console.log(message.code);           }       });

下面是我为响应请求的 cakephp UsersController 类创建的方法:

public function login() {        if ($this->request->is('post')) {            if ($this->Auth->login()) {                return new CakeResponse(array('body'=> json_encode(                                        $this->Auth->user()),'status'=>200));            } else {                $reply["code"] = "Invalid username or                                   password and please try again";                return new CakeResponse                (array('body'=> json_encode($reply),'status'=>500));            }        }    }

问题是,当服务器发送错误时,我无法读取 json 响应。下面片段的 console.log 应该写“无效的用户名或密码,请重试”,但它说未定义。

error: function(message){                console.log(message.code);           }

但是,我能够阅读以下内容:

success: function(data){                console.log(data.id);           }

最佳答案

描述了 jQuery error 回调的参数 here :

所以第一个参数是jqXHR 对象,描述为here :

所以我猜你可以阅读它的 responseText 属性。

error: function(jqXHR, textStatus, errorThrown) {
var message = JSON.parse(jqXHR.responseText);
console.log(message.code);
}

关于php - Javascript 在读取 cakephp 发送的 json 服务器错误响应后说未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com