Angular 2 - IE 11关于http get请求的问题
Angular 2 - IE 11 issue with http get request
我在IE11中使用angular应用程序时遇到了一个非常奇怪的问题。结果如下:
在一个3页(3个不同的路线)的网站是不工作的第一次加载(它工作,如果我按下F5和/或我已经打开了web开发控制台)。我调试了那个页面,因为它只加载了页面的一半。当它到达组件中的这部分代码时,它会中断:
...
constructor(public http: Http) {
//... stuff
http.get('./data/data.json')
.map((res:Response) => res.json())
.subscribe(
data => {
alert ('test');
},
// err => console.error(err)//,
// () => console.log('done')
);
//... stuff
}
警告不会在第一次加载时显示,但如果我重新加载或控制台打开,它会显示。没有其他js错误显示,其他浏览器从一开始就做得很好。
What I have:
我有angular版本2.0.0-rc。4和我使用这个垫片:https://unpkg.com/core-js/client/shim.min.js
我已经试过了:
我尝试了很多不同的垫片,有些破坏了我的网页,没有做任何事情,所以我回到了我最初的网页(我的网页是基于英雄教程,从那里工作)。
我试过改变angular版本,但它破坏了网站,我不能把我所有的代码升级到一个新版本。我现在不能为了解决IE的一个问题而关闭网站。
我已经把这个添加到index.html:
<meta http-equiv="x-ua-compatible" content="ie=edge">
没有变化。我也试过用元数据删除缓存,也没有改变。
还有什么我可能遗漏的吗?
几天前,我遇到了同样的问题。这是IE的一个非常疯狂的bug。
在我的案例中,这个问题的原因是IE不能识别特定条件下的html5的doctype html。(不是所有时间,但有时)
<!doctype html>
当IE不能识别这个doctype-html声明时,IE浏览器进入怪癖模式,并试图处理代码,就好像它是在90年代后期编写的一样。这就是为什么IE使用ie5模式的主要原因。
从HTML页面中删除doctype会发生什么?
,遗憾的是,IE 5模式有一个严重的问题,它不能正确使用ajax请求/响应。有时,它可以调用,但有时,它不能调用。
jquery-ajax-post-parameters-sometimes-not-sent-on-iehow-to-detect-server-or-networking-failures-when-using-xmlhttp
所以,这个问题的解决方案是使用html4的严格声明,而不是使用html5声明,以防止IE进入怪癖模式。IE 11不能完全支持Html5。你可以搜索并找到很多html5的IE 11问题案例。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
文档类型定义
- 有没有一种方法可以防止img get请求使用css或js发生
- jQuery Ajax GET请求工作不正常
- 将GET请求(HTML字符串)转换为完整的DOM对象
- 如何在nightwatch.js中发送ajax get请求
- 当我在chrome中切换设备模式时,$http.get请求失败
- 根据GET请求的结果自定义页面内容
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Codeigniter JQuery在JQuery.get请求后动态加载视图中的数据
- 如果我对一个文件发出ajax GET请求,我会得到什么以及如何将其添加到页面中
- JQuery AJAX 在 GET 请求完成时返回 XML
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 嵌套在 .get 请求中的 jQuery 不会执行
- 如何在 GET 请求中序列化查询的对象
- 对服务器的 GET 请求返回 net::ERR_CONNECTION_REFUSED
- GET 请求在 javascript 中到 NodeJS
- 无法在角度 js 中将参数传递给 http get 请求
- Ajax GET 请求的 URL 失败,但 hurl.it 相同 URL 的 GET 请求有效.什么给
- Atlasboard在GET请求中给了我500
- 带有正文的Amplifyjs GET请求
- Rails4:是否可以将Ajax.get请求发送到相同的当前页面控制器