gpt4 book ai didi

api - IE10 中的 Angular js 204 响应阻塞

转载 作者:行者123 更新时间:2023-12-04 12:48:14 25 4
gpt4 key购买 nike

注:引用本网站http://www.redbullracingshop.com.au/

我有一个 .net WebApi 与前端的 angular $.http 交互一起运行。一位客户最近提到该网站的动态功能在 IE 中已停止工作。

在几个浏览器中运行代码并观察请求之后。我在 IE 中注意到了这一点。在将结果返回给客户端之前,Post 请求挂起或“挂起”大约 2 分钟。我在服务器和 javascript 上运行了一些断点的代码以找到它锁定的位置,并发现请求触发正常并且服务器代码按预期执行。没有什么在这里停滞不前。

服务器代码段

[AcceptVerbs("POST")]
public void AddToCart(JObject jsonData){
// DO CODE
}

我正在返回一个无效的响应,或 204。这是我所期望的,不认为这是一个错误。在服务器响应和客户端接收响应之间的某个地方,有 2 分钟的停顿?

这可能是 Angular 错误吗?

客户端代码段
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

有任何想法吗?如果所有其他方法都失败了,我将不得不尝试将所有这些无效的 WebAPI 响应转换为空字符串。

最佳答案

现在,我拥有的最佳解决方案是变通。不要使用导致 204 的无效响应,而是返回手动 HttpStatusCode.OK (200) 响应。

[AcceptVerbs("POST")]
public HttpResponseMessage AddToCart(JObject jsonData){
// DO CODE
return request.CreateResponse(HttpStatusCode.OK);
}

我仍然很好奇关于这个错误的解释。

关于api - IE10 中的 Angular js 204 响应阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17288297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com