我正在尝试为一个get请求设置头。功能如下:
getLeads(jwtToken: string): Observable<any>{
const headers = new HttpHeaders();
const authroizationToken = 'bearer '.concat(jwtToken);
console.log(authroizationToken); ------------------> prints the token
headers.append('Authorization', authroizationToken);
console.log(headers.get('Authorization')); ---------------------> this prints null
var result = this.http.get<Leads>(this.getLeadsUrl, {headers});
return result;
}
但是头。get('Authorization')由于某种原因为空,我无法找出原因。任何帮助都将不胜感激。
这个问题的答案如下。
https://stackoverflow.com/a/45286959/12376898
https://stackoverflow.com/a/47805759/12376898
总而言之,头是不可变的,因此进行任何更改都会创建一个新对象。除非将新创建的对象引用到旧引用,否则只有旧对象会保留。
getLeads(jwtToken: string) {
let headers = new HttpHeaders();
headers.append('ANYHEADER','SOMESTRING') // will be lost
headers = headers.append('ANYHEADER','SOMESTRING') //unless you reference it again to the old reference
}
对代码进行以下更改:
getLeads(jwtToken: string): Observable<any>{
let httpOptions = {
headers: new HttpHeaders({ 'Authorization': `bearer ${jwtToken}` })
};
return this.http.get<Leads>(this.getLeadsUrl, httpOptions);
}
实际上. append
返回新的头对象.试试这个它的工作原理是预期的。只要确保每次追加新标头时都将标头分配回变量。
getLeads(jwtToken: string) {
let headers = new HttpHeaders();
const authroizationToken = 'bearer '.concat(jwtToken);
console.log(authroizationToken);
headers = headers.append('Authorization', authroizationToken);
console.log(headers.get('Authorization'));
}
这是一场有效的闪电战
希望这有帮助:)
问题内容: 如何设置数据属性而不在jQuery中添加值?我要这个: 我试过了: 其他所有内容似乎都将第二个参数添加为字符串。是否可以只设置没有值的属性? 问题答案: 该功能也是设置器功能。您可以将一个空字符串传递给它。 空字符串将仅创建没有值的属性。
我有一个电子应用程序,我想建立一个自动更新。我跟踪了这篇博文,做了一个小演示,它工作很好,有一些小改动。然后我尝试用我的实际项目来实现它,现在我得到了一个错误。 我已经有了Electron-Builder.yml文件,我甚至尝试过设置GT_TOKEN和变量,但它仍然抛出相同的错误。
为了解决这个问题,我尝试了许多JDK版本,但似乎无论我使用哪个java,结果总是一样的。 MavenReportException:创建存档时出错:无法找到javadoc命令:未正确设置环境变量JAVA_HOME。 我跑了: 导出JAVA_HOME=/usr/lib/jvm/JAVA-8-openjdk-amd64 : MavenReportException:创建存档时出错:无法找到javado
Spring HATEOAS提供了方便的ControllerLinkBuilder来创建指向控制器方法的链接,这些方法将作为HREF添加到返回给客户端的JSON/XML中。例如: ... 可能会生成类似以下内容的JSON: 然而... 我倾向于通过反向代理访问我的服务。我想大多数人可能会这样做。这让我可以在不同的端口上运行多个服务,但让我可以通过相同的基本URL访问它们。不幸的是,通过代理访问意味
问题内容: 我正在使用Samsung galaxy nexus手机( Android 4.0 平台)。 我正在Ubuntu Linux操作系统上开发Android应用程序。我想直接在三星手持设备上运行我的应用程序,因此我执行了以下设置步骤: 在我的项目文件中,添加到元素 在设备上的 “设置” >“已启用 安全性” 中, “ 未知来源” 在设备上的 “设置” >“开发人员”选项中,启用了 USB调试
本文向大家介绍如何设置没有有效期的JavaScript Cookie?,包括了如何设置没有有效期的JavaScript Cookie?的使用技巧和注意事项,需要的朋友参考一下 JavaScript cookie中的expires选项是可选的。“ expires”属性是可选的。如果为该属性提供有效的日期或时间,则cookie将在给定的日期或时间到期,此后,将无法访问cookie的值。 示例 要设置没