一、前言
这个问题是我做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。