一个 vue-cli 新起的项目,已经在 main.js 开头引入了 babel-polyfill 和 es6-promise,接口也已经使用 nginx 反代,但 axios 发 post 请求就是不好使。最神奇的是之前的项目和这次新起的项目配置一毛一样,但旧项目就支持 ie9 下 axios 的 post 请求。
贴一下核心代码:
main.js:
import 'babel-polyfill'
import 'es6-promise/auto'
axios 配置:
const axios = Axios.create()
axios.defaults.baseURL = baseURL
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
export default axios
发送请求:
this.$axios.post('/user/login', qs.stringify({
phone: this.form.phone,
password: this.form.password
}))
.then()
.catch()
ie9 下的请求头、请求体和报错:
https://i.imgur.com/HvXnsDK.png
https://i.imgur.com/7kCJoxt.png
https://i.imgur.com/6BmbPJh.png
如果各位想要了解更多信息也可以加小弟的微信:zxyy63630
1
tushankaka 2018-01-15 16:21:24 +08:00
https://juejin.im/post/59fa9257f265da43062a1b0e?utm_source=weibo&utm_campaign=admin
Q:我用了 axios , 为什么 IE 浏览器不识别(IE9+)那是因为 IE 整个家族都不支持 promise, 解决方案: npm install es6-promise // 在 main.js 引入即可 // ES6 的 polyfill require("es6-promise").polyfill(); |