Angular 2 XMLHttpRequest

时间:2017-08-28 18:37:46

标签: angular xmlhttprequest

我尝试向API发出POST请求,但我收到此错误:

XMLHttpRequest无法加载http:// *。预检的响应具有无效的HTTP状态代码400 但是,当我尝试发出GET请求时,它会起作用。

我的获取方法:

getMethod() {
    return this.http.get<PerfilModel[]>(globals.BASE_URL + 'perfis');
}

我的帖子方法:

updateMethod(changePass: ChangePassModel) {
    let h = new Headers();
    h.append('Content-Type', 'application/json');

    return this.http2.post(globals.BASE_URL + 
                           'users/passwords/redefinitions/' + 
                           changePass.key, JSON.stringify(changePass),      
                           { headers: h }
                           ).map(res => res.json);
}

观察:cors toggle插件已激活。

3 个答案:

答案 0 :(得分:1)

HTTP 400错误请求响应状态代码表示由于语法无效,服务器无法理解请求。客户不应在未经修改的情况下重复此请求。

可能是服务器端他们允许post方法。

答案 1 :(得分:1)

globals.BASE_URL + 'users/passwords/redefinitions/' + changePass.key + '/'

如果你的后端激活了cors toggle插件,你的网址最后缺少&#34; /&#34; ,你可以查看

答案 2 :(得分:0)

问题在于浏览器的原始策略,因此我使用以下标志禁用了安全性: - args --disable-web-security --user-data-dir =&#34;&#34;它起作用了。