ANGULAR中POST方法出错

时间:2017-08-19 07:53:49

标签: angular api post http-post bad-request

我正在尝试执行post方法,当我使用Postman App执行此post方法时,它可以使用fyn,但是当我以角度执行此操作时,我会收到错误。

这是我的 POST服务

storeServers(comment) {
console.log(comment);
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');

let accessToken = this.authService.getAccessToken();

return this.http.post(Staticdata.apiBaseUrl + "/2.2/posts/45754385/comments/add?body="+ comment +"&key="+ Staticdata.key +"&access_token="+ accessToken +"&preview=false&filter=default&site=stackoverflow", {headers})
    .map(
(response: Response) => {
    const post = response.json();
    return post;
},
)
.catch(
    (error: Response)=>{
        return Observable.throw(error);
    }); 
}

这是我的 SUBSCRIBE方法,在这里我订阅服务

addComment(){
console.log(this.comment);
this.faqService.storeServers(this.comment)
    .subscribe(
    (data) => {
        console.log(this.data);
    },
    (error) => console.log(error)
);
}

这是错误:enter image description here

任何有解决方案的人都可以。

1 个答案:

答案 0 :(得分:0)

Angular具有安全机制,以避免来自不安全的http的请求以保护https休息呼叫。 因此预检请求失败,而不是发布请求Angular发送选项请求。    我们可以通过几个步骤来避免这种情况 1.你的系统ip应该是静态的而不是动态的。改变并检查 2.在浏览器安全性中禁用代理并检查。 3.使用服务器IP和呼叫请求而不是域名。 4.如果上述方法均未解决您的问题,请在本地计算机上运行服务器并指向本地服务器URL。 希望你明白。问我是否有任何疑问。