Angular 4 - 主线程上的同步XMLHttpRequest 已被弃用,因为它对最终用户的体验有不利影响



我在控制台中收到如下警告。这个警告来自区域.js

主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看 https://xhr.spec.whatwg.org/。

我使用的是 Angular 2,现在我更新到 Angular 4。我也在使用剑道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 调用引起的。 但不知道如何在 Angular 4 中修复它。

在我的 Angular 5 应用程序上我收到了此错误(主线程上的同步 XMLHttpRequest 已被弃用...(,因为我愚蠢地尝试从源代码文件夹而不是 dist 文件夹提供应用程序。我在nodejs上使用koa 2作为Web服务器,我的角度应用程序源代码位于一个名为public的文件夹中,所以我有(在索引中.js - 由nodejs运行的文件(:

app.use(serve(__dirname + '/public'));

而不是:

app.use(serve(__dirname + '/public/dist')); 

在启动服务器之前,我从 /public 文件夹运行 ng build,该文件夹在/public/dist 中构建 Angular 应用程序。关键是错误的原因和错误消息完全无关。

相关内容

最新更新