从回调函数获取xhr状态


get xhr status from a callback function

我有一个php调用,它在我的html文件中以以下格式写入javascript行:

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

我想在回调函数中获得http状态(如404403),以便做出适当的响应。

我尝试了几种选择,但似乎都不起作用,其中:-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(或其他)错误在哪里

感谢大家的帮助

使用script元素加载脚本无法通过程序确定接收到的响应的HTTP状态代码。

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