当前位置: 首页 > 知识库问答 >
问题:

axios post请求的头被视为参数

齐意致
2023-03-14

我尝试在vue中使用axios post实现注销功能。我将jwt添加到请求头中,但它被视为参数。在另一个函数中,我实现了axios post方法,它可以正常工作。有人能帮忙吗?代码如下:

import axios from 'axios';
import store from '../store';

const API = 'http://192.168.100.184:5000/api/v1.0.0';
export class APIService{
   constructor(){
   }
   login (userData) {
     return axios.post(`${API}/auth/`, userData);
    }
    logout(){
      const url = `${API}/auth/logout`;
      const headers = {"api_token": store.state.jwt};        
      return axios.post(url,{headers:headers});
    }
    createUser(user){
      const headers = {"api_token": store.state.jwt};
      const url = `${API}/user/`;
      return axios.post(url,user,{headers: headers});
    }
 }

当我看到网络时,在createUser方法的request headers中有api\u token字段,它成功了。但是在logout方法的request headers中没有api_-token字段,在参数中可以找到api_-token,它看起来像:

headers{…}
   api_token : xxxxxxxx

响应表示状态代码为400的错误。

共有1个答案

闻人凯泽
2023-03-14

这:

return axios.post(url,{headers:headers});

应该是这样的:

return axios.post(url, null, {headers: headers});

第二个参数必须是请求主体,第三个参数用于其他选项,如标头

 类似资料:
  • 直接打印axios的请求拦截的config时是包含那些值为undefined的参数的,但是在浏览器和服务端中却没有了,请问这是哪个环节的问题?应该如何避免这种情况? 打印config的时候params是包含latitude和longitude的 Chrome网络中却不包含这两个参数

  • 问题内容: 我正在使用beego框架作为我的API框架和客户端上的AngularJS。我已正确设置所有CORS设置。我可以做GET请求。但是,当我尝试POST时,beego对待是OPTIONS请求。它还会发出警告:。有什么可能错吗? 我的beego CORS设置: 我的ANgularJS请求 我的系统:Ubuntu 14.04 beego:1.4.2 bee:1.2.4 angularJS:1.3

  • 您好,我想使用截取标题和正文参数向服务器发送删除请求。但我无法成功发送请求 我试过的 这是我的截击请求课 当我尝试此代码时,我收到400响应代码错误。如果有人可以帮助我,请告诉我。。这就是我做错的地方。谢谢 这里是我测试的deleteapi的屏幕截图,它工作正常。

  • 路由::资源('get-users','api\UserController@get_users'); 路由::资源('寄存器','api\UserController@register'); 我的API给我的响应我检查了它使用POSTMAN但Android开发人员问我,他应该在我的API的头发送什么。我不明白如何创建一个头我使用laravel和我写的控制器功能。

  • 可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title

  • 可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title