一、前言

这个问题是我做vue的项目第一个遇到的问题,后端接收不到我传递的参数。

二、原因及解决办法

为什么会这样呢?

这篇文章描述得非常清楚。

那么如何解决呢?

上面的文章里说了好多种解决办法,我把我使用的方法写出来:

// http.js
import axios from 'axios'
import qs from 'qs'

export default {
  post(url, data) {
    return new Promise((resolve, reject) => {
      axios.post(url, qs.stringify(data), {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          'Accept': 'application/json'
        }
      }).then((res) => {
        if (res.status == 200) {
          resolve(res.data);
        }
      }).catch((error) => {
        reject(error);
      })
    })
  }
}

我对POST请求做了一个封装,每次引入http.js之后http.post(url,data)就可以成功发送请求了,如果想用别的方法发送只要参考两个最重要的步骤就可以:
一个是qs.stringify(data)
另一个是设置headers


Peggy7
677 声望22 粉丝