Angular 4/5中php getallheaders()函数的等价是什么?
我需要获取请求标头,但我无法在Angular中找到它。我只能获得Angular的响应头。
我尝试Interceptor类,但它只在我发送get或post请求时才有效。
说明:
我使用此网址打开应用程序:http://localhost:4200/#/ 在这个时候我的请求标题是这样的:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Cookie: s_fid=07C355F600B90B3D-291EBB86E5858A2F; s_cc=true; gdslv_s=Less%20than%201%20day; s_vnum=1556196774798%26vn%3D7; s_invisit=true; s_ppvl=login%2520sayfasi%2C100%2C100%2C933%2C375%2C667%2C375%2C667%2C2%2CLP; s_ppv=Welcome%253Atarife%253Aanasayfa%2C100%2C100%2C667%2C375%2C667%2C375%2C667%2C2%2CP; s_ppn=Welcome%3Atarife%3Aanasayfa; gdslv=1524831169979; s_getNewRepeat=1524831169981-Repeat; utag_main=v_id:0162fcdd2735001117d070e941e904072002406a00918$_sn:7$_ss:0$_st:1524832969982$_pn:2%3Bexp-session$ses_id:1524831079859%3Bexp-session$_prevpage:Welcome%3Atarife%3Aanasayfa%3Bexp-1524834769972
Host: localhost:4200
Pragma: no-cache
Referer: http://localhost:4200/
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
X-IMSI: 286026134103281
X-MSISDN: 905499914581
Request URL : http://localhost:4200/sockjs-node/info?t=1524831359435
我需要使用X-IMSI和X-MSISDN参数。
答案 0 :(得分:0)
根据我的评论:您可以创建一个负责处理所有标头的服务。这也是一个很好的做法:你集中了一个功能的逻辑。
这是一个可以做到这一点的服务实例。它可以创建JSON标头,将新标头添加到列表中,重置它们...自己查看。
import { Injectable } from '@angular/core';
import { Headers } from '@angular/http';
@Injectable()
export class HeadersManagerService {
private headers: Headers;
constructor() {
this.resetHeaders();
}
resetHeaders() {
this.headers = new Headers();
}
newHeader(key, value) {
this.headers.append(key, value);
}
createJsonHeaders() {
this.resetHeaders();
this.headers.append('Content-Type', 'application/json');
}
getHeaders() {
return this.headers;
}
}
答案 1 :(得分:0)
PS:发帖作为答案,因为评论太长了。
你为什么不尝试这样
setHeaders() {
const headers = new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
});
const options = new RequestOptions({ headers: headers });
console.log(options.headers);
// return options;
}
答案 2 :(得分:-2)
例如,如果它是对象,则在角度
obj{name:"ABC" , role:"Student"}
然后Object.keys(obj);
会返回标题