我试图从http post调用中设置标头,但是当我将其合并到日志中时,它的打印内容未定义。
我也尝试过使用params,但是没有设置。
callAddGroupAPI(formId, data){
const headers = new Headers()
.set('Content-Type', 'application/json');
console.log(headers);
}
我希望控制台中的输出记录标头的值,但是它的输出未定义。
我也尝试过
callAddGroupAPI(formId, data){
const headers = new Headers();
headers.append('Content-Type','application/json');
console.log(headers);
}
这也不起作用...
我在使用时遇到同样的问题
const data = new FormData();
data.set('key', 'value')
console.log(data)
我也使用了.append(),但这也不起作用。
答案 0 :(得分:3)
这是您在帖子请求中设置标题的示例
create(custom: CustomObject): Observable<CustomObject> {
const header = new Headers({ 'Content-Type': 'application/json' });
return this.http.post(this.url, JSON.stringify(custom), { headers: header })....}
答案 1 :(得分:2)
您可以尝试以下方法:
import { HttpHeaders } from '@angular/common/http';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
httpOptions在您的帖子请求中作为参数传递
myRequest (item: Item): Observable<Item> {
return this.http.post<Item>(yourUrl, item, httpOptions)
}
答案 2 :(得分:2)
要使用标题,请尝试
// define in your service.ts constructor
this.httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json', 'X-CSRFToken': csrf }),
};
// use
this.http.post(yoururl, payload, this.httpOptions);
关于formdata,当您执行console.log()
时,它只会打印FormData {}
,以访问key
执行data.getAll('key')
或使用data.forEach