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
我对添加学生页面上的 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