我正在尝试对所有ajax请求进行操作并专门处理409s,但我的状态代码总是 0,即使FireFox调试器会清楚地显示给我409.
JS代码
(function(open) {
XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
if(this.status === 409)
console.log("Conflict 409")
open.apply(this, arguments);
};
})(XMLHttpRequest.prototype.open);
我可以非常轻松地使用我的服务器代码生成409s。我看到FireFox和Chrome显示409s。但this.status
始终为0,即使在400s。我做错了什么?
答案 0 :(得分:1)
您在请求完成之前检查状态。
您可以使用xhook库拦截XHR回复。
示例:
xhook.after((request, response) => {
if (response.status === 409) {
console.log("Conflict 409")
}
})