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>