代码之家  ›  专栏  ›  技术社区  ›  MrlinY

POST data ionic 3和后端API restful laravel

  •  1
  • MrlinY  · 技术社区  · 8 年前

    我在添加学生页面上有一个关于帖子数据的问题。我使用的是ionic 3和后端API restful laravel,我在《邮差》中尝试了这篇文章,但在单击“添加”按钮后,我收到了一条错误消息“无效令牌或未提供令牌”(请参阅 first 图片)。我不知道如何用auth令牌编写方法。

    您可以向我的提供商咨询( second 图片),添加学生。ts( third 图像),按钮html( forth 图片)供参考

    提前谢谢。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Spharah    8 年前

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

    步骤1:添加身份验证提供程序和扩展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:添加 AuthProvider 在中的提供程序下 应用程序。单元ts 文件

        2
  •  0
  •   CodeChanger    8 年前

    根据我的经验,你需要添加 RequestOptions 在您的 邮递 呼叫方式如下:

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

    正如在代码中一样,您正在创建标头,但并没有将其传递到post请求中。

    尝试上面的代码,希望这将帮助您获得API工作。