gpt4 book ai didi

jquery - 为什么 $.getJSON 静默失败?

转载 作者:IT老高 更新时间:2023-10-28 12:46:22 26 4
gpt4 key购买 nike

jQuery 的 $.getJSON 似乎很不方便当返回的数据不是有效的 JSON 时,静默失败。为什么这是以静默失败的方式实现的?以更好的失败行为执行 getJSON 的最简单方法是什么(例如抛出异常、console.log() 或其他)?

最佳答案

你可以使用

        function name() {
$.getJSON("", function(d) {
alert("success");
}).done(function(d) {
alert("done");
}).fail(function(d) {
alert("error");
}).always(function(d) {
alert("complete");
});
}

如果要查看错误原因,请使用完整版

function name() {
$.getJSON("", function(d) {
alert("success");
}).fail( function(d, textStatus, error) {
console.error("getJSON failed, status: " + textStatus + ", error: "+error)
});
}

如果您的 JSON 格式不正确,您会看到类似

getJSON failed, status: parsererror, error: SyntaxError: JSON Parse error: Unrecognized token '/'

如果 URL 错误,您会看到类似

getJSON failed, status: error, error: Not Found

如果您尝试从其他域获取 JSON,则违反 Same-origin policy ,这种方法返回一个空消息。请注意,您可以使用 JSONP(它是 limitations)或跨域资源共享的首选方法 (CORS) 来解决同源策略。

关于jquery - 为什么 $.getJSON 静默失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492838/

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