当前位置: 首页 > 面试题库 >

为什么$ .getJSON静默失败?

钮实
2023-03-14
问题内容

$.getJSON当返回的数据不是有效的JSON时,jQuery
静默失败似乎非常不便。为什么用无声失败来实现呢?用更好的故障行为(例如,引发异常console.log()或其他方法)执行getJSON的最简单方法是什么?


问题答案:

您可以使用

        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 '/'

如果网址错误,您会看到类似

getJSON failed, status: error, error: Not Found

如果您试图从另一个域获取JSON,则违反Same-origin策略,则此方法将返回空消息。请注意,您可以通过使用JSONP(具有局限性)或跨域资源共享(CORS)的首选方法来解决同源策略。



 类似资料:
  • 本文向大家介绍什么是Android静默拍摄 Android静默拍摄app制作方法,包括了什么是Android静默拍摄 Android静默拍摄app制作方法的使用技巧和注意事项,需要的朋友参考一下 引言: 在做用户的头像时,忽然想到前段时间(可能是很久以前了),支付宝传出偷偷拍摄用户的生活照,真实头像,被喷的很厉害。然而作为Android开发者的我第一反应竟然是握草,他是怎么实现的。在我印象中,iO

  • 运行以下代码时,k的值为0: Jdk 1.8_181 这是我的comlier错误还是jvm错误?我找不到答案

  • 问题内容: 为什么字面上的评估失败,而没有呢? 该文档没有对此进行解释。 我在回答以下问题后发现了这个问题:获取字符串的结果。 问题答案: 接受评估的数据,因为(复数*)是有效的文字。同样适用于。为了使代码简单,没有尝试排除或将其作为二进制运算符。 不允许其他运算符;该函数 应该 只接受文字,不接受表达式。 换句话说,这是一个错误,但如果不中断对构造复数的支持,就很难修复该错误。该实现将使用范围限

  • 问题内容: 当我打开JMeter仪表板时,我可以在列中看到成功,而在列中看到失败。根据城市词典 KO等于OK “ KO”等价于表示“ OK”的字母的含义和缩写 还是法国的非正式缩写? 我注意到,法语和意大利语非正式交流中的首字母缩写词KO意味着“不好” 我看到了有关将KO标签更改为失败的不同问题。 为什么JMeter将错误称为,在性能测试中还有其他含义吗?还是在积极思考失败也可以的地方? 问题答案

  • 本文向大家介绍接口变量在Java中默认为静态且为最终变量,为什么?,包括了接口变量在Java中默认为静态且为最终变量,为什么?的使用技巧和注意事项,需要的朋友参考一下 接口定义行为的协议,而不是行为的协议。实现接口的类遵守该接口定义的协议。 接口变量是静态的,因为无法单独实例化Java接口。必须在没有实例的静态上下文中分配变量的值。 final修饰符确保分配给接口变量的值是无法重新分配的真实常量。

  • 我正在尝试找到一种简单的方法(使用C 11之前,即没有)来记录模板对类型的哪些要求才能正常工作。也许有更好的方法可以做到这一点。但是,这是我的问题: 为什么是