从回调函数中获取xhr状态

时间:2013-12-11 11:18:54

标签: javascript php callback jsonp

我有一个php调用,在我的html文件中以这种格式编写javascript行:

<script src="http://localhost/listing.php?jsonp=thecallbak"></script>

我想在回调函数中获得http状态(例如404,403)以进行适当的响应。

我尝试了几种选择,但似乎没有任何效果,其中包括:   - xhr.status   - 在回调中传递句柄

谢谢!

编辑 - 找到解决方案:

首先,向您的脚本添加一个事件监听器:

var h = document.getElementsByTagName('head')[0];
var s = document.createElement('script');
s.src = url;
    if (s.addEventListener) {
        s.addEventListener('error', function (evt) {
            if (evt) evt.stopPropagation();
            callback('');
        }, false);
    }
h.appendChild(s);

这允许接收空回调,即使404错误。

然后,您只需要在回调中获取this.fromurl以了解404(或其他)错误的位置

谢谢大家的帮助

1 个答案:

答案 0 :(得分:0)

无法以编程方式确定通过使用脚本元素加载脚本而收到的响应的HTTP状态代码。

如果您需要这些信息,请使用XMLHttpRequest。