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