gpt4 book ai didi

javascript - 为什么空的 200 在 jQuery 中会导致失败?

转载 作者:行者123 更新时间:2023-11-30 10:05:51 26 4
gpt4 key购买 nike

我已经创建了一个简单的 ajax 请求来将一些 json 发送到我的 api。我之前在其他页面中做过几次,但突然间我无法让这个新调用正常工作。

var request = $.ajax({
type: "POST",
url: "/my-api-call",
dataType: "json",
data: JSON.stringify({"pid": 5, "comment": $('#comment').val()})
});
request.done(function(data){
console.log('weve got a succesful response!!');
})
request.fail(function(error){
console.log('weve got an error!!!');
console.log(error);
});

该调用仅返回一个空的 200 响应,我在浏览器中对此进行了验证。但不知何故,浏览器控制台不断提示 weve got an error!!!。如您所见,我也记录了错误,但我是一个充满信息的对象,我不知道其中的重要内容。在该错误对象中,它还表示响应是普通的 200 btw。

看到这段代码相当简单,我真的不知道我做错了什么。

有人知道我在这里做错了什么吗?欢迎所有提示!

最佳答案

这是因为您将dataType 设置为json。所以 jquery 正在尝试将您的数据(为空)解析为 json。空结果不是有效的 json。

"json": Evaluates the response as JSON and returns a JavaScript object. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)

From the docs

因此您应该返回 {}null

关于javascript - 为什么空的 200 在 jQuery 中会导致失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29215725/

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