关于javascript:无论我如何在ajax中写入url,响应总是成功的

No matter how i write the url in ajax the response is always success

本问题已经有最佳答案,请猛点这里访问。

我有这个ajax请求,但它没有做我想要它做的事情,它被认为是一个返回一些数据的GET但是无论我如何设置URL它总是给出成功响应,即使它不成功,

1
2
3
4
5
6
7
8
9
10
11
 var id = 5;
$.ajax({
        type: 'GET',
        URL:"'../this is totaly wrong/" + id +"'",
        success: function(data) {

            console.log("success");
            window.location.replace("/formex");

 }
 })

正确的路由应该是"readForm /:id",但是我这样写它并且无论如何都会成功并重定向到"/ formex"页面,我在这里写的url甚至不存在它只是为了证明它给出了 即使它不应该成功


您的服务器在出错时正在执行Console.log。 您的服务器应将HTTP状态设置为错误并相应地返回。 在这种情况下,您的服务器将发回一个'200',这是成功呼叫的定义。
你能做的是:

  • 返回200,但是向返回的主体(可能是JSON)添加一个指示错误的字段。 然后在前端success处理程序读取该字段并确定它是否是有效请求。

  • 返回错误代码,例如500,然后在前端捕获error和句柄。

  • 请确保您了解HTTP状态代码。