vue 使用axios 在EDGE浏览器上面post请求变成了get请求

发布于 2022-09-06 20:39:41 字数 893 浏览 36 评论 0

在vue项目上使用axios 执行异步请求,在google和火狐上正常,在edge上post请求变成了get请求

//axios.js
export default {
  install () {
    Vue.prototype.$http = axios
    Vue.http = axios
  }
}
//main.js
import axios from '@/utils/axios'
Vue.use(axios)![图片描述][1]

//调用请求
return Vue.http.post(LOGIN, qs.stringify(form)).then(data => {
            if(data.ret_code==0){
                commit(SET_TOKEN, data.data.token)
                commit('setLoginStatus',true)
            }
            return data
        })

google
edge
edge

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

热血少△年 2022-09-13 20:39:41

我是这样写的

定义
Vue.prototype.axios = axios;
//dev
axios.defaults.baseURL = 'http://localhost:8081/ynnn';

请求
this.axios.post('updateImageInfo',recommend).then(function (response) {}));

在edge上没问题

因为看清所以看轻 2022-09-13 20:39:41

写了个测试在一下两个版本跑结果竟然是不同的.万年的微软坑
Microsoft Edge 41.16299.15.0 axios post 请求会自动转成get请求
Microsoft Edge 38.14392.1066.0 axios post 请求正常

import Axios from 'axios'
import Promise from 'es6-promise'
Promise.polyfill()
import qs from 'qs'
const URL= 'http://192.168.0.112/account/login/username'
let params = {
    username:'admin',
    password:'admin',
}
Axios.post(URL,qs.stringify(params))
.then(res=>{
    console.log(res)
    }
)
.catch(error=>{
    console.log(error)
    }
)

ISSUES回答,github

EDGE相同问题,微软

安静 2022-09-13 20:39:41

这不是浏览器的原因,这是写法的问题 axios.post/get这种写法有时会这样,前端POST,后端有时POST有时会GET,,,为了保险,应换成method:post,这种写法,,原因看duanshuiLu点抗母的那个视频讲解

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文