当json给出NetworkError时如何运行函数:503 Forbidden

时间:2016-03-09 19:23:33

标签: javascript jquery

当我的json失败时,我可以显示自定义警报消息并给我“NetworkError:503服务不可用吗?这是我的代码:

    $(function () {
        $.getJSON('https://freegeoip.net/json/?callback=?', function (location, textStatus, jqXHR) { 
            console.log(jqXHR);
        });
    });

以下是错误:

    "NetworkError: 503 Service Unavailable - https://freegeoip.net/json/?callback=jQuery17107261589788513599_1457551270088&_=1457551270313"

我尝试过这样的事情,但它没有用:

    $.getJSON('https://freegeoip.net/json/?callback=?',error: alert('fail'), function (location, textStatus, jqXHR) { 

在这种情况下,是否存在处理错误和创建自定义函数的默认方法?谢谢!

2 个答案:

答案 0 :(得分:2)

您可以将其更改为$.ajax方法,如下所示:

$.ajax({
    dataType: "json",
    url: 'https://freegeoip.net/json/?callback=?',
    success: function (data) {
        // Everything worked
    },
    error: function(jqXHR, textStatus, errorThrown) {
        // Something went wrong
    }
});

答案 1 :(得分:2)

来自jQuery网站:

处理错误

从jQuery 1.5开始,您可以使用.fail()来解决错误:

$.getScript( "ajax/test.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
  })
  .fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});