axios.post参数问题

axios.post参数问题
如下:this.addForm 为JSON格式
let url = '/api/addShouru'
      axios.post(url,this.addForm).then(res => {
        console.log(res.data)
      })
这样传,node服务器接收不到参数
可以用如下一种方法解决:
 
使用qs将参数格式化
具体操作如下:
 
在VUE文件中
import qs from 'qs'
 
let url = '/api/addShouru'
      axios.post(url, qs.stringify(this.addForm)).then(res => {
        console.log(res.data)
      })
 
qs.stringify() 转换成查询字符串
 
然后在node服务器中进行设置
const express = require('express')
let mongoose = require('mongoose')
const app = express()
const bodyParser = require('body-parser')
app.use(bodyParser.json()); 这个方法返回一个仅仅用来解析json格式的中间件。这个中间件能接受任何body中任何Unicode编码的字符。支持自动的解析gzip和 zlib。
app.use(bodyParser.urlencoded({ extended: true}));
这个方法也返回一个中间件,这个中间件用来解析body中的urlencoded字符, 只支持utf-8的编码的字符。同样也支持自动的解析gzip和 zlib。
以上方法使用一种便可
 
 
 app.post('/addShouru', (req, res) => {
        
        const { weixin1, weixin2, weixin3, alipay, money } = req.body
        
        //req.body 及为接受到的参数
  })
 
以上,就是我用的解决axios post 传参的方法
 
原文地址:https://www.cnblogs.com/loving0606/p/14443881.html