我有一个使用Angular 2的Ionic2应用程序,它向ASP.NET Core API服务器发送http put.下面是我用来发送请求的方法:

public update(student: Student): Promise<Student>
{
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    headers.append('authentication', `${student.token}`);

    const url = `${this.studentsUrl}`;

    return this.http
        .put(url, JSON.stringify(student), { headers: headers })
        .toPromise()
        .then(() => student)
        .catch(this.handleError);
}

我正在headers对象上设置身份验证密钥/值.

但是,当我在服务器上收到此请求时,我在标头上找不到身份验证密钥:

enter image description here

正如图中所示,头上有许多密钥,但没有我在客户端应用程序中手动添加到头中的内容和身份验证密钥.

我做错了什么?

推荐答案

http中请求选项的参数.put()实际上应该是RequestOptions类型.试试这样:

let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('authentication', `${student.token}`);

let options = new RequestOptions({ headers: headers });
return this.http
    .put(url, JSON.stringify(student), options)

Angular相关问答推荐

为什么这个拦截器只在发送事件上触发,而不是在实际响应上触发?

带逻辑的组件decorator 中的Angular 主机侦听器属性

首期日历发行

NGNEW不会在src根文件夹ANGLI CLI 17.0.10中生成app.mode.ts

PathMatch full始终连接到参数化路径,即使完整路径不匹配也是如此

是否自动处理Angular /RxJS观测数据的取消订阅

在Angular中使用ngFor进行表乘法

Angular 单调服务已多次创建

列表和映射的SCSS语法

如何修复不允许的HttpErrorResponse 405?

无法创建新的 Ionic 项目

IonicStorageModule似乎不是 NgModule 类

Angular UNIVERSAL prerender 错误方法 Promise.prototype.then 调用不兼容的接收器 [object Object]

包含与 ngFor 相关内容的 HTML 输入

找不到模块'@angular/compiler'

带有 Angular 的 Font Awesome 5

如何使用依赖注入扩展组件?

Angular 2 setinterval() 继续在其他组件上运行

Angular单元测试输入值

如何升级 Angular CLI 项目?