当超时时,$ http.post在IE9上崩溃

时间:2013-10-14 23:52:36

标签: angularjs

我正在调用http post函数:

$http.post(myUrl, myData, { timeout: 2000 }).success() etc

当响应速度很快时,调用工作正常,但如果响应时间超过2秒,则angularjs代码崩溃!

我创建了一个在IE10,Chrome和Firefox上运行的单个html页面,并清楚地显示了IE9上的错误: http://www.apxproto.com/api/ngPost.htm(查看此内容而不是下面的plunker)

我检查了角度代码,当有超时时,它调用xhr.abort()。 xhr.onreadystatechange尝试通过调用xhr.getAllResponseHeaders()来获取头文件;这是因为xhr已经中止而失败的地方。

这是一个掠夺者:http://plnkr.co/12rp7WqmDpPJC5ASazkJ

请注意,我只是在IE9上目睹了这种行为。 (不幸的是,plunker也有IE9的问题。)

有什么建议吗?任何AngularJs Core开发者都在那里? 感谢

1 个答案:

答案 0 :(得分:0)

您可以尝试使用快捷方式并减少超时,看看它是否有所作为

$http.post(url, myData, {timeout: 5000});

此外,您在此行末尾缺少分号

$log.info('Calling Url: ' + url + '. Timeout: ' + timeout)

更正此问题并重试