我正在尝试获取403禁止错误的状态,我可以使用php curl执行此操作但需要使用jquery执行此操作。
这是我的代码。
$.ajax({
url: 'https://s3.amazonaws.com/isdukg/01-jaimeson-complete_2_step_mix-pulse.mp3',
type: 'GET',
crossDomain: true,
dataType: 'jsonp',
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});
$.ajax({
url: 'https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3',
type: 'GET',
crossDomain: true,
dataType: 'jsonp',
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});
如果您打开控制台窗口并加载页面,其中一个网址会产生403禁止错误,您可以在此处看到错误 - http://scaredem.users36.interdns.co.uk/
我似乎无法抓住这个错误来做一些有用的事情。
答案 0 :(得分:4)
使用jQuery ajax,您可以使用statusCode属性将函数映射到HTTP响应状态代码。
$.ajax({
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});
答案 1 :(得分:1)
在这种情况下,可能会timeout
帮助您。如果请求在500毫秒内超时则没有响应(我试图获得响应状态,但没有运气)。
$.ajax({
url: "https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3",
type: "get",
dataType: 'jsonp',
crossDomain : true,
timeout : 500, // it is milliseconds
complete : function(xhr, responseText, thrownError) {
if(xhr.status == "200") {
alert(responseText); // yes response came
}
else{
alert("No response"); // no response came
}
}
});