我试图为下面的post请求发送内容类型头以允许json请求,但它抛出一个错误invalid cors request with options request method。它甚至不发送post方法。
在这里,我不能使用已折旧的RequestOptions
。
附言:当我和邮递员一起发送请求时,这样做很好。而且,后端代码已经用cors请求处理了。
从后端Java代码中,这是我得到的错误
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported
我在哪里失踪了?
postSubmit(){
let data = { "name":"John", "age":30 };
const httpHeaders = new HttpHeaders ({
'Content-Type': 'application/json'
});
return this.http.post<any>(apiURL, data, {headers : httpHeaders})
.pipe(catchError(error => this.handleError(error)))
}
}
最佳答案
要使用新的httpheaders类定义内容类型,您需要
只需导入import { HttpHeaders } from '@angular/common/http'
;
创建将传递给每个httpclient保存方法的httpoptions对象import { HttpHeaders } from '@angular/common/http';const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'my-auth-token' })};
调用apithis.http.post<Datatype>(API url, Bady Parameter, httpOptions)