我的服务功能
public postDetails(Details): Observable<any> {
let cpHeaders = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: cpHeaders });
return this.http.post(this.baseUrl + "/api/adm/Dtls", Details,options)
.map((res: any) => {
let data = res.json();
return data; })
}
TS档案。
let postdata:any= JSON.stringify(Details);
this.data = this.storageservice.postDetails(postdata);
this.data.subscribe((result: any) => {
if (result) {
console.log(result);
}
});
浏览器错误
OPTIONS http://10.23.233.45/statapi/api/details/Dtls 500 (Internal Server Error)
Failed to load http://10.23.233.45/statapi/api/details/Dtls: Response for preflight has invalid HTTP status code 500.
core.js:1448 ERROR Response {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers, …}
我可以使用Postman发布数据,但我无法通过角度发送数据,我不知道是什么问题。
答案 0 :(得分:0)
您的服务无法处理CORS Preflight requests。
现代浏览器使用CORS来增强安全性。非浏览器应用(如邮递员)不会。为了使其工作,请使Web服务使用正确的CORS标头和200个状态代码响应OPTIONS
个请求。