我正在使用IPInfo.io来跟踪访问者的国家/地区。 它允许我每天最多执行1000个请求(免费)。
我想要检查一下这个国家是否是' BR'。 如果是,"做某事"。 如果不是,或者已经超过了每日请求的最大数量,那么"做其他事情"。
$.get("http://ipinfo.io", function (response) {
var pais = (response.country);
if(pais=='BR'){
//do something//
} else {
// do something else
};
}, "jsonp");
现在,当超出对IpInfo的请求查询时,else
子句在此处不起作用。
在这种情况下,我收到错误:429 (Too Many Requests)
我试过了:
$.get("http://ipinfo.io", function (response) {
var pais = (response.country);
if(pais=='BR'){
//do something //
};
}, "jsonp")
.fail(function(){
//do something else//
});
但结果是一样的。
我该如何解决这个问题?
注意:我的想法是打破此服务的服务条款,但是在达到每日限额时执行默认操作。
答案 0 :(得分:1)
尝试以下面的方式使用完整的jQuery.ajax()调用...
$.ajax({
url: "http://ipinfo.io/json",
success: function(response) {
var pais = (response.country);
if(pais=='BR') {
//do something //
}
},
dataType: 'json',
statusCode: {
429: function() {
alert( "Number of tries exceeded" );
}
}
});
这将使您能够检查HTTP状态代码。您可以扩展它以检查不仅仅是" 429"你提到的代码,如果需要的话。