我正在尝试为以下发布请求发送内容类型标头,以允许json请求,但是使用 OPTIONS 请求方法,它向我抛出了错误无效的CORS请求 。它甚至不发送 POST 方法。
在这里,我无法使用已贬值的RequestOptions
。
PS:当我与邮递员发送请求时,此方法工作正常。并且,后端代码已通过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)))
}
}
答案 0 :(得分:1)
要使用新的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'
})
};
调用API this.http.post<Datatype>(API url, Bady Parameter, httpOptions)