为什么错误警报不适用于getJSON?

你好宇宙

我正在加载JSON数据如下

$.getJSON('data.json', function (data, status, xhr) {
    if (status === "success") {
        myData= data;
    } else {
        window.alert("Unexpected error happened. Please refresh your browser window to reload the page. Error: " + xhr + status);
    }
});

但是,我通过删除json文件进行了测试。并期待404结果。但是,这并没有显示在alter消息中。在控制台上,它确实为json数据说404。但是,为什么警报框没有显示?

丘布森杜布斯

getJSON将调用划分为成功(即HTTP代码200)和错误(即HTTP非200)。发生故障(即非200)时不会调用它。因此,状态在被调用时将始终为“成功”,因为在未调用此回调的情况下,该状态不会被调用。

您应该考虑转换为使用Promise,因为它更加灵活。使用done()方法为接收到200的代码部分注册代码段,为接收到非200的代码注册fail()方法。试试这个:

$.getJSON('someurl').done( function( data ) {
   myData = data;
}).fail( function(jqXHR, textStatus, errorThrown) {
   console.log("Unexpected error happened. Please refresh your browser window to reload the page. Error: ", textStatus, " ", errorThrown);
});

在编写调试代码时,也请考虑使用console.log而不是alert。您可以在代码中留下console.log()调用,而必须记住删除它们的alert()。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的Javascript警报不适用于此自定义WordPress插件?

为什么我的 PHP 错误控制器适用于 PHP 5,而不适用于 PHP 7?

为什么我的函数适用于矩阵但为什么不适用于向量?

为什么C ++中的“不完整类型错误”不适用于嵌套类

为什么服务总线输出绑定不适用于 Azure Functions?- 没有错误

为什么Xcode的错误检查不适用于我的测试文件夹?

为什么错误处理不适用于“无”输入?

为什么Hibernate HSQL Concat不适用于MSSQL?

为什么@Autowired不适用于通用类型T?

为什么通用引用不适用于数组?

为什么constexpr不适用于构造函数?

为什么忽略SIGTRAP不适用于asm?

为什么Map在Groovy中不适用于GString?

为什么maxWidth属性不适用于EditText?

为什么ExtractMpegFramesTest不适用于旋转的输入文件?

为什么下界不适用于向量对

为什么cout不适用于pthreads?

为什么php mongo $ in搜索不适用于ObjectId?

为什么Dijkstra的算法不适用于负负边缘?

为什么 a:hover 不适用于 bootstrap 源?

为什么 onclick 不适用于innerHtml

为什么窗口调整大小不适用于模态?

为什么TreeSet的remove()方法不适用于Integers?

为什么代码不适用于 Python 字典

为什么“ a或b或c”不适用于NumPy数组?

自动装箱为什么不适用于Short(5)?

为什么Fade过渡不适用于共享元素

为什么@specialized注释不适用于asInstanceOf?

为什么__dir __()不适用于python中的模块?