我在控制台中收到警告,如下所示。这个警告来自zone.js
主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助,请查看https://xhr.spec.whatwg.org/。
我正在使用Angular 2,现在我更新到Angular 4.我也使用了kendo UI Angular控件。我想知道这是因为角度版本更新还是因为我的服务实现。以下是服务代码段。
post(url: any, data: any) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
try {
return this.http.post((new RequestOptions({ headers: headers }))).do(data => {
if (data != null && data.statusText != "No Content") {
console.log("Response Data - ", data.json());
}
});
}
catch (e) {
console.log(e);
return null;
}
}
我知道这是因为尝试从浏览器进行同步AJAX调用。但不知道如何在角度4中修复它。
答案 0 :(得分:0)
我在Angular 5应用程序上遇到此错误(主线程上的同步XMLHttpRequest已弃用... ),因为我愚蠢地试图从源代码文件夹而不是 dist 文件夹。我在nodejs上使用koa 2作为Web服务器,我的角度应用程序源代码位于名为 public 的文件夹中,所以我有(在 index.js - 由nodejs运行的文件):
app.use(serve(__dirname + '/public'));
而不是:
app.use(serve(__dirname + '/public/dist'));
在启动服务器之前,我从 / public 文件夹运行 ng build ,该文件夹在 / public / dist 中构建Angular应用程序。重点是错误的原因和错误信息是完全无关的。