api POST Auth始终返回200,但有一个401错误

api POST Auth始终返回200,但有一个401错误,api,authentication,post,error-handling,httpresponse,Api,Authentication,Post,Error Handling,Httpresponse,首先,我要说的是,我已经进行了广泛的研究,不知道为什么当我使用“错误”的密码或用户登录时,网络身份验证状态显示为200,但控制台报告错误:无效的用户名或密码。因此,它显示正确的错误,但状态为200,这是不正确的。状态应该是401 或者,当我输入正确的信息时,它会按照预期为我提供正确的凭证。问题是200状态,而它应该是401状态。请帮助我找出状态未正确返回的原因。是的,它需要返回401,这样代码的另一部分才能正确执行 下面是它所说的图像: 这是我的POST授权代码(减去我的DB连接-连接的数据库

首先,我要说的是,我已经进行了广泛的研究,不知道为什么当我使用“错误”的密码或用户登录时,网络身份验证状态显示为200,但控制台报告错误:无效的用户名或密码。因此,它显示正确的错误,但状态为200,这是不正确的。状态应该是401

或者,当我输入正确的信息时,它会按照预期为我提供正确的凭证。问题是200状态,而它应该是401状态。请帮助我找出状态未正确返回的原因。是的,它需要返回401,这样代码的另一部分才能正确执行

下面是它所说的图像:

这是我的POST授权代码(减去我的DB连接-连接的数据库):


这是我的表格代码:

 <script type="text/javascript">
    $('#login').click(function() {

        $.ajax({

            type: "POST",
            url: "api/auth",
            processData: false,
            contentType: "application/json",
            data: '{ "username": "'+ $("#username").val() +'", "password": "'+ $("#password").val() +'" }',
            success: function(r) {
                console.log(r)
            }

        });
    });
 </script>

$('#login')。单击(函数(){
$.ajax({
类型:“POST”,
url:“api/auth”,
processData:false,
contentType:“应用程序/json”,
数据:“{”用户名“+$(“#用户名”).val()+”,“密码“+$(“#密码”).val()+“}”,
成功:功能(r){
console.log(r)
}
});
});
德夫也是这么说的:

请求URL: 申请方式:邮寄 状态代码:200 OK 远程地址:xx.xx.1xx.2xx:xx 推荐人策略:降级时无推荐人


我希望当我用不正确的用户名或密码单击$login按钮时,chrome中的DEVtools将以红色显示Auth,并具有401状态

您不能在echo或任何输出之后使用“header”。http_response_代码在您回显错误后尝试插入头参数。因此,响应代码为200,在服务器日志文件中,您会发现有关此问题的警告(除非禁用了错误)。

问题:如果禁用错误,是否可以保持原样?如果是这样的话,我怎样才能在不出错的情况下禁用错误呢?只需在错误消息之前写下标题(交换行),您就完成了:-)谢谢您为我节省了这么多时间
 <script type="text/javascript">
    $('#login').click(function() {

        $.ajax({

            type: "POST",
            url: "api/auth",
            processData: false,
            contentType: "application/json",
            data: '{ "username": "'+ $("#username").val() +'", "password": "'+ $("#password").val() +'" }',
            success: function(r) {
                console.log(r)
            }

        });
    });
 </script>