我们的AngularJS应用程序存在以下问题。我们通过tha Angular $ http服务发送请求,如下所示:
var req = {
method: 'POST',
url: apiUrl + 'reg',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'ApiToken': apiToken
},
data: {
'regCode': regCode
},
responseType: 'json'
};
return $http(req);
API是一个HTTPS网址。使用上述代码发送请求的页面也由HTTPS提供。
此请求在Chrome或Firefox中正常运行,但大部分时间请求在IE11(11.0.9600.18059 Update 11.0.24)中失败,并显示以下消息:
SCRIPT7002: XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3
IE中的“网络”选项卡显示请求已执行< 1ms,结果显示(已中止),表示请求从未从IE端开始。
有趣的是,如果我在没有AngularJS的情况下执行请求,请执行以下操作:
var req = new XMLHttpRequest();
req.open('POST', url);
req.setRequestHeader('ApiToken', apiToken);
req.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
req.send(json);
IE中一切正常。此外,似乎通过GET的请求也可以正常工作。
知道什么可能是错的或我可以尝试什么?