注意:参考本网站http://www.redbullracingshop.com.au/
我有一个 .net WebApi 与前端的角度 $.http 交互一起运行。一位客户最近提到该网站的动态功能已停止在 IE 中工作。
在几个浏览器中运行代码并观察请求后。我在 IE 中注意到了这一点。Post 请求在将结果返回给客户端之前挂起或“挂起”了大约 2 分钟。我在服务器和 javascript 上运行了带有一些断点的代码,以找到它被锁定的位置,并发现请求触发良好并且服务器代码按预期执行。没有什么在这里停滞不前。
服务器片段
[AcceptVerbs("POST")]
public void AddToCart(JObject jsonData){
// DO CODE
}
我正在返回一个无效响应或 204。这是我所期望的,并且不认为这是一个错误。在服务器响应和客户端接收响应之间的某个地方,有 2 分钟的停顿?
这可能是角度错误吗?
客户片段
this.post = function (url, data, success, fail) {
fail = (fail !== undefined) ? fail : success;
$http.post(url, data)
.success(function (data) {
if (data.length == 0) {
success(onEmpty(url));
} else {
success(data);
}
})
.error(function (data) {
fail(onError(url, data));
});
}
我调查并发现这仅发生在 IE10 中,而不是以前版本的实际版本,与开发控制台的模拟版本相反。
我知道 IE 用 204 响应做了一些有趣的事情,这在 IE10 中可能已经改变。看这里https://github.com/angular/angular.js/issues/357?source=cc
网络检查器结果如下:
/api/CartApi/AddToCart | 发布 | 204 | 295乙| 384.76 秒 | XMLHttpRequest
有任何想法吗?如果一切都失败了,我将不得不尝试将所有这些 void WebAPI 响应转换为空字符串。