Chrome正常模式下角色2的COR问题

时间:2016-10-20 05:09:27

标签: google-chrome angular cors

我正在运行使用angular-cli生成的Angular 2应用程序。我正在使用下面的代码向服务器发出GET请求,该服务器允许跨源请求。

getItems(): Promise<Items[]> {      
    return this.http.get(this.url).toPromise().then(response => {
        console.log(response);
        response.json() as Item[];
    }).catch(this.handleError);
}

当某个页面加载以检索项目列表时,将调用上述函数。当我在Chrome Incognito模式下测试应用程序时,会获取数据并记录收到的响应。但是当我在正常模式下尝试时,我会得到以下错误。

XMLHttpRequest cannot load http://10.20.10.16/api/items. Request header field x-xsrf-token is not allowed by Access-Control-Allow-Headers in preflight response.

我正在使用ng serve来运行Angular 2应用程序。

我使用下面的jquery代码尝试了相同的GET请求,并且在Chrome正常模式下有效。

$(document).ready(function(){                   
    $.ajax('http://10.20.10.16/api/items').done(function (data) {
        console.log(data)
    }).fail(function() {
        console.log('Error');
    }).always(function() {
        console.log('Completed');
    });
});

我认为这是一个缓存问题所以我清除了过去两天的缓存,这是我开始处理这个应用程序的时候。

我还在Internet Explorer中尝试过Angular 2应用程序,它没有任何COR错误。

这似乎是一个缓存问题,但我不想清除整个缓存。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我能够通过重新启动浏览器并恢复其历史记录来解决问题。我还预先删除了所有与localhost相关的内容。

我想通过清除浏览器历史记录可能会有效,但我并不想这样做。