Axios/XMLHttpRequest在生产环境中发送GET而不是POST

Maa*_*tje 8 post get xmlhttprequest laravel axios

我遇到了一个非常奇怪的问题.我们正在将一个应用程序投入生产,其中一个POST请求变为POST,然后直接向同一URL发送GET请求,后端(Laravel)永远不会收到POST.在Chrome网络选项卡中,它看起来只是一个GET,但是使用Burpsuite,我们可以看到POST请求.

代码负责

async store() {
    // This prints post
    console.log(this.method());

    await this.form[this.method()]('/api/admin/users/' + (this.isUpdate() ? this.id : ''));

    if (!this.isUpdate()) {
        this.form.reset();
    }
},
Run Code Online (Sandbox Code Playgroud)

form.post方法的内容

return new Promise((resolve, reject) => {
    axios[requestType](url, this.data())
    .then(response => {
        this.busy = false;
        this.onSuccess(response.data);
        resolve(response.data);
    })
    .catch(error => {
        this.busy = false;
        if (error.response.status == 400) {
            return this.displayErrors(error.response.data)
        }
        this.onFail(error.response.data.errors);
        reject(error.response.data);
    });
});
Run Code Online (Sandbox Code Playgroud)

col*_*der 22

我在Larachat闲谈论坛上也回答了这个问题,而对于其他人来说,这是一个有这样一个问题的下一个问题的答案.

只是一个小故事.在聊天中,我们发现它收到301错误,这是一个重定向错误.我最近在登台服务器上发布到网址时遇到了同样的错误,它在本地工作正常但在登台服务器上却没有.

这个问题似乎是帖子网址末尾的斜线.

因此发布https://example.com/post/to/将无效.

删除/和发布https://example.com/post/to将工作.

  • 我不知道为什么,但在我的情况下,我不得不做相反的事情!! (3认同)