当前位置: 首页 > 知识库问答 >
问题:

如何在angular 2中设置标题[重复]

陶博赡
2023-03-14

我有以下标题

var headers = new HttpHeaders();            
    headers.set('Content-Type', 'application/json');
    headers.set('X-Quikr-App-Id', '1087');
    headers.set('X-Quikr-Token-Id', '785582933');
    headers.set('X-Quikr-Signature-v2', '86742d91e19bc30cdd923bf6a84194c133570659');
    headers.set('Access-Control-Allow-Origin', '*');


this.http.get('https://api.quikr.com/public/adsByLocation?lat=28.64649963&lon=77.22570038&from=0&size=1', {
                     headers:headers })
  .subscribe(

这是抛出一个例外,而当我从邮递员那里做同样的事情时,它是有效的。奇怪的是,当我从我的应用程序运行这个时,我只在选项中出错,也就是说,甚至我的get调用都没有被调用,我在我的响应中看不到任何标题。
有人能建议我帮忙吗?谢谢。

  Request URL:https://api.quikr.com/public/adsByLocation?lat=28.64649963&lon=77.22570038&from=0&size=1
Request Method:GET
Status Code:401 Unauthorized
Remote Address:104.120.157.164:443
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Connection:keep-alive
Content-Length:12
Content-Type:text/plain; charset=utf-8
Date:Thu, 01 Feb 2018 07:20:20 GMT
WWW-Authenticate:xBasic realm="fake"
Request Headers
view source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Host:api.quikr.com
Origin:http://localhost:4200
Pragma:no-cache
Referer:http://localhost:4200/
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36

共有2个答案

岳阳飙
2023-03-14

参考Angular 2 Angular Http指南@Angular/Http已被弃用,并且@Angular/common/Http应该是您在Angular 2应用程序中使用的。因为如果不指定http头,默认请求将作为内容类型text/plain发送,因此修改http头的方法如下:

import { HttpClient, HttpHeaders } from '@angular/common/http';  
.....
const req = this.http.get('https://api.quikr.com/public/adsByLocation?lat=28.64649963&lon=77.22570038&from=0&size=1',
                        JSON.stringify(object),
                        {
                         headers:new HttpHeaders()
                         .set('Content-Type','application/json' 
//other headers here
                         }).subscribe();
岳景明
2023-03-14

不要把布景分开,只要

var headers = new HttpHeaders()
    .set('Content-Type', 'application/json');
    .set('X-Quikr-App-Id', '1087');
    .set('X-Quikr-Token-Id', '785582933');
    .set('X-Quikr-Signature-v2', '86742d91e19bc30cdd923bf6a84194c133570659');
    .set('Access-Control-Allow-Origin', '*');

HttpHeaders是“不可变的”,其他方法可以做到这一点

var headers = new HttpHeaders();            
headers=headers.set('Content-Type', 'application/json');
headers=headers.set('X-Quikr-App-Id', '1087');
       ...
//Or 
var headers=new HttpHeaders({
   'Content-Type':'application/json',
   'X-Quikr-App-Id', '1087',
   ...
})
 类似资料:
  • 我试图弄清楚如何处理HttpHeaders上的头,以便通过HttpClient将它们用于http请求。 它只能这样工作: 有没有添加标题的特殊方法?还是虫子?

  • 当我从数据帧绘图时。我可以调整标题的字体大小吗?可能是将列表/字典传递给参数而不是字符串?基本上,我不知道如何将函数集成到中。

  • 我使用HttpClient发出请求,在每个请求上我都设置了头,但当我看到chrome网络选项卡时,这些头并没有设置。 密码 网络选项卡图像

  • 问题内容: 我在Go中做一个简单的http GET: 但是我找不到在doc中自定义请求标头的方法,谢谢 问题答案: 请求的字段是公共的。您可以这样做:

  • 问题内容: 我想为我的React应用程序设置文档标题(在浏览器标题栏中)。我已经尝试使用反应文档标题(似乎过时了),并设置在与这些解决方案的工作- 。 问题答案: 您可以使用React Helmet:

  • 我正在使用GraphQL SPQR和Spring Boot运行GraphQL API。 目前,我正在抛出s以返回GraphQL错误。我有一个,它实现了,以正确的格式返回错误,如下所示: 我使用如下(在我的主应用程序类中): 更好的是,是否可以创建一个Spring Bean,将UUID放在所有查询和突变的头中? 谢谢