POST 数据离子 3 和后端 API restful laravel

POST data ionic 3 and backend API restful laravel

我对添加学生页面上的 POST 数据有疑问。我正在使用 ionic 3 和后端 API restful laravel,我在邮递员中尝试了这个 POST 并且它有效,但是我在之后收到一条错误消息 "invalid token or token not provided"单击添加按钮(参考 first 图片)。我不确定如何使用身份验证令牌编写方法。

您可以参考我的提供商(second image) ,addstudent.ts (third image), button html (forth图片)以供参考

提前致谢。

根据我的经验,您需要在 POST 调用中添加 RequestOptions,如下所示:

    let options = new RequestOptions({
      headers: headers
    });
    this.http.post(this.apiUrl+'/addstudent', addStudent, options)

在您的代码中,您正在创建 Header 但没有将其传递到 post 请求中。

尝试上面的代码希望这将帮助您完成 API 工作。

假设您将令牌存储在存储中(例如 localStorage 或 sessionStorage),您可以执行以下操作:

第 1 步:添加 Auth 提供程序并扩展 BaseRequestOptions

import { BaseRequestOptions, RequestOptions, RequestOptionsArgs } from '@angular/http';
import { Injectable } from '@angular/core';

@Injectable()
export class AuthProvider extends BaseRequestOptions {

  constructor() {
    super();
    this.headers.set('Content-Type', 'application/json');
  }

  merge(options?: RequestOptionsArgs): RequestOptions {

    let newOptions = super.merge(options);
    let accessToken = localStorage.getItem('accessToken');
    if (accessToken !== null && accessToken !== undefined) {
      let token: AcessTokenResponse = JSON.parse(accessToken);
      newOptions.headers.set('Authorization', token.token_type + ' ' + token.access_token);
    }

    return newOptions;
  }
}

第 2 步:在 app.module.ts 文件

中的提供商下添加 AuthProvider