将angular2与django api连接

时间:2017-08-07 06:16:25

标签: python django angular

所以我正在尝试将angular2 app上托管的localhost:4200连接到localhost:8000托管的django api,我已经在localhost:800上管理了一个角度为1.6的应用程序登录和所有其他的东西, 所以在我的angular2应用程序中,我收到了存储在我的cookie中的令牌,我正在尝试使用它在标头中向django api发送获取请求。

ps:我已经检查过我的django api,它目前只允许访问所有服务器。

fetchUser(){
    console.log("Here");

let headers = new Headers({'Accept': 'application/json','X-CSRFToken': this.token});

this.http.get( 'http://localhost:8000/api/orgs', {headers: headers}).subscribe(
  (response: Response) => {
    const testResponse = response.json();
    this.outerLinks.data = testResponse;
    this.data =testResponse;
    this.dataChange.next(this.data);
  }
);

} 

所以我收到了这个error

XMLHttpRequest cannot load localhost:8000/api/orgs. Response for preflight is invalid (redirect)

2 个答案:

答案 0 :(得分:0)

您可以尝试Allow-Controll-Allow-Origin:* 如果你使用Chrome试试这个分机 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

答案 1 :(得分:0)

通过添加以下代码修改您的settings.py:

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = (
    'localhost:4200'
    '<YOUR_DOMAIN>[:PORT]',
)