在Vue中使用axios发送post请求时,可能会出现后端无法接收到参数的情况。

这篇具有很好参考价值的文章主要介绍了在Vue中使用axios发送post请求时,可能会出现后端无法接收到参数的情况。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Vue中使用axios发送post请求时,可能会出现后端无法接收到参数的情况。这个问题的原因是axios默认发送的请求是json格式的,而后端接收的请求是form表单格式的,这就导致后端无法获取json格式的请求参数。解决这个问题可以通过设置axios的请求头部信息,将请求格式设置为form表单格式。

下面是Vue简单封装axios并解决post请求后端接收不到参数问题的示例代码:

  1. 首先安装axios和qs库:
npm install axios qs --save
  1. 在src目录下新建一个api文件夹,并新建一个http.js文件:
import axios from 'axios'
import qs from 'qs'

axios.defaults.baseURL = 'http://localhost:3000' // 设置请求的基础url

//添加一个请求拦截器
axios.interceptors.request.use(function(config){
  //设置post请求的请求头部信息
  if(config.method=='post'){
    config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
    config.data = qs.stringify(config.data);
  }
  return config;
},function(error){
  return Promise.reject(error);
});

export default axios //导出axios
  1. 在api文件夹下新建一个users.js文件,作为示例:
import axios from './http'

export function login (params) {
  return axios.post('/login', params)
}

export function getUserList () {
  return axios.get('/users')
}

export function addUser (params) {
  return axios.post('/users', params)
}

export function deleteUser (userId) {
  return axios.delete('/users/' + userId)
}

export function updateUser (userId, params) {
  return axios.put('/users/' + userId, params)
}

这样,在Vue中需要引入api文件夹下的users.js文件,然后调用对应的函数即可发送请求。对于post请求,需要将参数以对象的形式传入即可。

// 发送post请求示例
this.$api.login({
  username: 'admin',
  password: '123456'
}).then(response => {
  console.log(response)
}).catch(error => {
  console.log(error)
})

// 发送get请求示例
this.$api.getUserList().then(response => {
  console.log(response)
}).catch(error => {
  console.log(error)
})

这样设置后就可以正常发送post请求了,后端也可以正确接收到参数了。文章来源地址https://www.toymoban.com/news/detail-568749.html

到了这里,关于在Vue中使用axios发送post请求时,可能会出现后端无法接收到参数的情况。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3使用axios发送post请求,后台接收到的参数总是null,使用postman测试后台是能接收数据的

    使用vue3,连基本的请求都失败了,使用浏览器查看post请求,参数中是有值,但是传到后台,每个参数都是null,不知道哪里错了。排除了后台的错误,就剩下了vue代码的错误了。我出错的地方是vue使用axios发送post请求的时候,参数格式写错了。 直接贴代码了,正确的写法 f

    2024年02月13日
    浏览(43)
  • 【Vue3】发送post请求出现400 Bad Request 报错

    查了一下网上资料,报400一般无非就是两种: 1. Bad Request:“错误的请求\\\" 2. Invalid Hostname:\\\"不存在的域名” 在这里我的报错是因为前端请求头的content-type和后端不一致。 一般后端默认的内容类型是 application/x-www-form-urlencoded,而axios默认的是 applecation/json。 但是也有例外,要

    2024年02月09日
    浏览(66)
  • 使用PostMan使用post请求向后端发送json对象时报错

     报错信息:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token  at

    2024年02月03日
    浏览(41)
  • Axios post请求出现500错误

    笔者在编写前端form表单传后端数据的时候,出现了以下问题 当我用axios发送post请求的时候,出现了500错误 笔者找了很长时间错误,代码没问题,后端接口也没问题, 后来发现问题出在实体类上了 当前端post请求调后端接口时候,后端控制台打印如下错误 看到错误提示说无法

    2024年02月07日
    浏览(41)
  • Vue使用axios发送get请求并携带参数

    其实关于Vue使用axios发送get请求并携带参数,我之前写过一篇,但是昨天又发现了另外一种方式,所以就单独写一篇进行总结。 之前写的那篇使用get请求并携带参数都是使用的字符串拼接的方式 感兴趣可以参考: Vue使用axios进行get请求拼接参数的两种方式 关于如何使用安装

    2023年04月10日
    浏览(57)
  • ruoyi 后端发送http/https post请求

    1.1 JSONObject转换为String类型后进行发送 1.1.1头部请求添加:` conn.setRequestProperty(“Content-Type”, “application/json”); ` 1.1.2 发送操作主要部分 2.1 JSONObject转换为String类型后进行发送 2.1.1头部请求添加:` conn.setRequestProperty(“Content-Type”, “application/json”); ` 2.1.2 发送操作主要部分

    2024年02月11日
    浏览(43)
  • Vue使用axios用post方式将表单中的数据以json格式提交给后端接收

    1.后端controller层代码代码 我采用的接收形式数据是json格式 2.前端登录注册界面代码 3.遇到的问题: 3.1. 我们首先在Vue data中定义一个存放表单数据的registform{},然后给它添加上属性,在表单input处使用v-model绑定。 3.2. 接下来将registform保存到datata变量中,然后就是axios的发送请

    2023年04月27日
    浏览(54)
  • Axios基本使用,为学习后续的Vue服务【发送请求+并发请求+前端拦截器】

    目录 1、项目中引入Axios 2、使用Axios发送请求 2.1、例:发送GET请求 2.2、例:发送POST请求 3、axios并发请求 4、拦截器 注:个人学习笔记,因自己学过后端,所以有关后端的代码,我在这里就不展示了~ 不了解后端的宝子,也不会耽误学习,因为公司里会有写好的接口文档,直

    2024年02月02日
    浏览(50)
  • 【Vue框架】Vue2中axios发送请求—安装axios、配置全局域名、传递参数、axios原理之Promise(什么是Promise、使用原因、基本使用、相关API、async与await使用)

    官网: https://www.axios-http.cn/ 1.1.1 安装axios库 安装 axios 通信库: npm install axios -S 1.1.2 在全局中引入axios库 全局在main.js中引入axios: import axios from \\\'axios\\\' 1.1.3 挂在原型对象 Vue.prototype.$axios = axios; 将 axios 挂载到Vue原型对象中,实现数据共享,节约内存空间。 此时在任何页面都可

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包