首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角5- HTTP柱

角5- HTTP柱
EN

Stack Overflow用户
提问于 2018-02-27 07:49:34
回答 3查看 2.2K关注 0票数 0

我有一个后端接口,我用我的角1.3应用程序调用它,没有问题。在我的角5应用程序中,我得到了一个HTTP 403 (禁止),我在图片中面对请求参数(左侧为1.3角,右侧为角5):

我的5角代码如下所示:

代码语言:javascript
复制
createDate(calendarEvent: CalendarEvent) {
    let serialDates = false;
    let calendarEventSerialDateType = 'NO_SERIAL_DATE';
    let serialEndDate = this.utilService.convertDateToDateString(new Date());
    let url: string = environment.apiEndpoint + 'calendarevents/calendarevent/' + serialDates + '/' + calendarEventSerialDateType + '/' + serialEndDate + '/';
    let headers = new Headers({ 'Content-Type': 'application/json', 'X-AUTH-TOKEN': this.authService.getToken()});
    let options = new RequestOptions({ headers: headers });
    return this.http.post(url, calendarEvent, options).map(res => res.json()).subscribe(res => console.log(res));

}

例如,我不知道为什么X-8月-令牌不是用角5设置的,因为我在headers对象中设置了

代码语言:javascript
复制
let headers = new Headers({ 'Content-Type': 'application/json', 'X-AUTH-TOKEN': this.authService.getToken()});

以及为什么OPTIONS在请求方法中提到角为5而不是POST类似于角1.3。

有人知道我做错了什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-02 13:25:25

OPTIONS请求被视为飞行前请求,它是在实际请求之前发送的,以检查方法的存在性。

如果发送的请求是有效的,它将调用有效的方法。

对于请求头,您可以使用上述答案中的一个。

代码语言:javascript
复制
 let Options = {
     headers: new HttpHeaders({
    'Content-Type': 'application/json'
  })
    };
票数 0
EN

Stack Overflow用户

发布于 2018-03-01 07:05:37

代码语言:javascript
复制
let Options = {
     headers: new HttpHeaders({
    'Content-Type': 'application/json'
  })
};

返回this.http.post(url,calendarEvent,Options).map(res => res.json()).subscribe(res => console.log(res));

票数 4
EN

Stack Overflow用户

发布于 2018-03-19 12:44:28

对于Angular5,

代码语言:javascript
复制
import { HttpClient, HttpHeaders } from '@angular/common/http';

const headers = new HttpHeaders().set('X-AUTH-TOKEN', this.authService.getToken());
  1. 默认情况下,'Content-Type': 'application/json'
  2. 停止使用map
  3. 订阅响应并将其存储到可观察的位置以供进一步访问。

示例:

代码语言:javascript
复制
createDate(calendarEvent: CalendarEvent) {
  let serialDates = false;
  let calendarEventSerialDateType = 'NO_SERIAL_DATE';
  let serialEndDate = this.utilService.convertDateToDateString(new Date());
  let url: string = environment.apiEndpoint + 'calendarevents/calendarevent/' + serialDates + '/' + calendarEventSerialDateType + '/' + serialEndDate + '/';
  let headers = new HttpHeaders().set('X-AUTH-TOKEN', this.authService.getToken());
  return this.http.post(url, calendarEvent, {headers: headers}).subscribe(res => console.log(res)); 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49003640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档