axios.post('/user', { //直接使用官网的方式,发现post参数,在php那边接受不到 firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
解决:
axios.post('logdecode/decode', qs.stringify({
path: self.logPath
}))
使用qs.stringify 先处理下参数,然后再传过去,可以。
qs引用,通过cdn方式引用的使用方式:
https://blog.csdn.net/example440982/article/details/89927349
Browser cdn方式引入qs库使用
普通html页面使用axios post提价数据需要处理提交的数据,一般用到qs库
今天刚好用到,记录下来
<script src="https://cdn.bootcss.com/qs/6.7.0/qs.min.js"></script>
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
<html>
<body>
<div>
</div>
<script>
// 一般引入qs库都赋值为qs,不过浏览器全局引入的是 window.Qs对象,
// 所以直接用 qs.stringify() 会报 qs undefined
var qs = Qs
// 配置post的请求头
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
// qs.stringify() 这里可以做一下封装
axios.post('url', qs.stringify({
id: 1,
name: 'zhangsan'
})).then(function(res) {
// 返回 Promise对象数据
})
</script>
</body>
</html>