从包含的JavaScript文件中检测404错误
我正在使用JavaScript进行跨域JSON(p)调用,向DOM添加一个从包含的JavaScript文件中检测404错误,javascript,include,http-status-code-404,jsonp,Javascript,Include,Http Status Code 404,Jsonp,我正在使用JavaScript进行跨域JSON(p)调用,向DOM添加一个标记,其中包含我希望作为src包含的URL。正在加载的脚本有一个回调函数,该回调函数在我的页面上调用一个函数,我想要的数据作为参数返回给函数 不过,有两个陷阱: 有时JSONP页面将返回400或404错误 可以在同一页面上多次请求相同的JSONP文件(每次返回不同的数据) 因此,我需要检测回调函数何时未被激发(这将表明JSONP文件返回了一个错误),但我还需要考虑一个事实,即同一个文件可以被请求两次。本质上,我需要在加载页
标记,其中包含我希望作为src
包含的URL。正在加载的脚本有一个回调函数,该回调函数在我的页面上调用一个函数,我想要的数据作为参数返回给函数
不过,有两个陷阱:
$.ajax({
url: "test.html?callback=?",
dataType: "jsonp",
success: function(data){
// your logic
}
statusCode: {
404: function() {
alert('page not found');
}
}
});
您可以只向callback函数添加一个参数,其中包含脚本的id/编号/位置。比如callbackFunction(1,…其余参数…)。不需要创建新的函数名 您可以通过将onerror事件附加到script元素来检测错误。
有点相关:为了解决这个问题,我让回调包含一个包含请求号的变量。因此回调可能是
var requestnumber=0;callbackFunction
。然后我可以找出哪个请求应用于哪个元素。我以前应该想到这一点。我没有使用jQuery(很遗憾)。另外,这是否跨域工作?