问题:在使用Vue+express+axios实现项目前后端交互的过程中,通过axios中的post请求向后台传递数据,但是后台无法识别data中的数据。

解决:axios请求中的data有点特殊,需要引入qs模块,对data数据进行处理后,才可以传递到后台。后台通过req.body获取。


/*
    main.js
*/

import axios from 'axios'
import Qs from "qs";

Vue.prototype.axios = axios
Vue.prototype.Qs = Qs


/*

    vue组件
*/

this.axios({
    method: 'post',
    url: this.websiteUrl + '/login',
    data: this.Qs.stringify({
       name: this.formData.name,
       pwd: this.formData.pwd
   }),
   headers: {
       Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
   }
})
/*
    express
*/

let { name, pwd } = req.body

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐