gpt4 book ai didi

javascript - 如何调试ajax请求错误?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:09 25 4
gpt4 key购买 nike

我正在尝试获取一个 JSON,托管在此处的本地服务器中,但由于某种原因它不起作用。如果我在浏览器上点击我的 url,它会正确返回 Json,如果我使用另一个 URL,我会得到一些数据。

我原来的getJson方法:

获取Json:

$.getJSON(url, 

function(data) {
console.log('got something');
alert(data);

});

现在我想看看究竟出了什么问题。我已将其重写为 Ajax 请求,并且在我的错误回调 jqxhr 中给了我很多我不明白的东西。我可以获取有关此错误的更多详细信息吗?

TextStatus 值为 "error"

errorThrownnull

    $.ajax({
url: url,
dataType: 'json',
success: function(data) {
console.log('got something');
alert(data);
},
error: function(jqxhr,textStatus,errorThrown)
{
console.log(jqxhr);
console.log(textStatus);
console.log(errorThrown);

for (key in jqxhr)
alert(key + ":" + jqxhr[key])
for (key2 in textStatus)
alert(key + ":" + textStatus[key])
for (key3 in errorThrown)
alert(key + ":" + errorThrown[key])

//<--- All those logs/alerts, don't say anything helpful, how can I understand what error is going on? ---->

}});

最后,我应该取回的 json 是

[{"message": "login failed"}]

而且我不能使用 firebug、chrome 控制台或任何其他开发工具,因为这是一个使用 Phonegap 开发的移动应用!

最佳答案

我会把我的评论写成答案,这不是解决您问题的方法,而是解决 jQuery Ajax 各种返回问题的好方法。

在这种情况下,当您请求某种数据类型时 dataType: 'json' 您正在请求一种特定类型的数据。如果未返回该特定数据类型,它将传递给错误函数。

如果您的错误消息没有提供可以解释您的问题的信息,请尝试请求更友好的数据类型。这样您就可以看到您的请求实际返回了什么。如果它的数据不是您请求的数据类型,那么这是您的问题,您可以从那里解决。

htmltext 这样的数据类型将非常开放,可以为您提供从请求的 url 返回的确切数据,您可以从那里解决您的问题。

希望对您有所帮助。

关于javascript - 如何调试ajax请求错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13742900/

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