【问题标题】:Issue setting custom headers in Ionic GET request在 Ionic GET 请求中设置自定义标头问题
【发布时间】:2018-07-18 18:24:41
【问题描述】:

我正在尝试向我的后端发出 GET 请求以检索数据以显示它。 但是 GET 请求失败并且没有检索到数据,最初没有显示错误消息,但过了一会儿我的浏览器控制台返回了一个错误,状态码为“0”。

GET http://localhost:3001/api/promotions 0 ()

我的代码如下,我做错了什么?

let headers = new Headers();
headers.append("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjViNDdkZGUwYWM4NDkzMWM4MGYyMGJkNSIsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSIsImV4cCI6MTUzNzEyMDQ1OCwiaWF0IjoxNTMxOTM2NDU4fQ.Lsm0BtGxfbtCWo-kHgQvxf3HyKudkwKuDh-TbVV78c4");
let opt = new RequestOptions({ headers: headers });

this.http.get('http://localhost:3001/api/promotions', opt)
.map(res => res.json())
.subscribe(data => {
  console.log(data);
  console.log("aaa");    
this.promotions = data.data.children;

console.log(this.promotions);
},
err => {
    console.log("No se pudo encontrar las promociones");
});

我确信令牌本身是正确的,因为我已在 Postman 中成功尝试过。

【问题讨论】:

  • 你使用 Angular 5 还是 6?因为在这些版本中是新的 HttpClient 并且 Headers 已过时。 HttpHeader 是要走的路,而且是不可变的
  • 角度为 5,我知道 http 已被弃用,但它应该可以工作,例如我可以发布到后端就好了。
  • 开发控制台的网络选项卡中显示的请求标头是什么?它们适合您的设置吗?

标签: angular http ionic-framework get


【解决方案1】:
import { RequestOptions ,Headers,Http} from '@angular/http';

这段代码对我有用。

   getDataPostAuth(url,body) {


      return new Promise((resolve, reject) => {
      let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });

      let options = new RequestOptions({ headers: headers });
       options.headers.set('Content-Type', 'application/json' );
       options.headers.set('Authorization', 'Bearer '+ sessionStorage.getItem("token") );

      this.http.post( MainURL+url,body,options)
      .subscribe(res => {
      resolve(res.json());
      }, (err) => {
      reject(err);
      });
      });
      }

此代码用于发布。您可以根据自己的需要进行更改。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 2020-05-05
    • 2016-11-12
    • 1970-01-01
    • 2012-10-03
    • 2019-08-21
    • 2019-06-17
    • 2014-08-23
    相关资源
    最近更新 更多