vue的axios中,get成功post报405错误

发布于 2022-09-06 02:59:48 字数 2480 浏览 9 评论 0

源码如下:

    <div id="app" class="container">
        <h1>axios插件详解</h1>
        <a href="#" class="btn btn-primary" v-on:click="get">Get请求</a>
        <a href="#" class="btn btn-primary" v-on:click="post">Post请求</a>
        <a href="#" class="btn btn-primary" @click="http">http</a>
        <div>{{msg}}</div>
    </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                msg:''
            },
            mounted: function(){
                
            },
            methods:{
                get:function(){
                    axios.get("../package.json",{
                        params:{
                            userId:"999"
                        },
                        headers:{
                            token:"liang"
                        }
                    }).then(res=>{
                        this.msg = res.data;
                    }).catch(function(error){
                        console.log("error init." + error);
                    });
                },
                post:function(){
                    axios.post("../package.json",{
                        userId:"888"
                    },{
                        headers:{
                            token:"tom"
                        }
                    }).then(res=>{
                        this.msg = res.data;
                    })
                },
                http:function(){
                    axios({
                        url:"../package.json",
                        method:"get",
                        data:{
                            userId:"101"
                        },
                        params:{
                            userId:"101"
                        },
                        headers:{
                            token:"http-test"
                        }
                    }).then(res=>{
                        this.msg=res.data;
                    })
                },
            }
        });
    </script>

然后get成功了,post报错如下:

clipboard.png

clipboard.png

接触vue不久,想知道这是什么原因,谢谢。

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

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

发布评论

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

评论(3

余生一个溪 2022-09-13 02:59:48

试试这么写

let url = ``
let data = {
    userId: `101`
}
let config = {
    headers: {
        token: `http-test`
    }
}
axios.post(url, data, config).then(res => {
    if (res.status_code === `200`) {
        // your code
    }
})

http 错误405 method not allowed (请求方式不支持),从这里试试找问题

腹黑女流氓 2022-09-13 02:59:48

不知道你axios.post("../package.json")干嘛。。
get的时候是可以获取本地的json文件,但是post的时候需要服务器和浏览器需要三次握手

post请求的过程:

  1.浏览器请求tcp连接(第一次握手)

  2.服务器答应进行tcp连接(第二次握手)

  3.浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)

  4.服务器返回100 continue响应

  5.浏览器开始发送数据

  6.服务器返回200 ok响应

情话墙 2022-09-13 02:59:48

JS不能使用post直接对文件进行读写操作吧!

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