【问题标题】:Why is Axios sending an extra 204 preflight request with my POST request?为什么 Axios 会在我的 POST 请求中发送额外的 204 预检请求?
【发布时间】:2021-11-24 08:20:47
【问题描述】:

每当我使用 Vue.js (3.x) 发送 POST 请求时,都会使用 HTTP 状态代码 204 和“预检”类型向同一 URL 发出附加请求。

这是什么预检请求,我该如何解决它,以免它作为重复发送?

Register.vue

async submit() {
    this.button = true;

    try {
        const response = await axios.post(`register`, this.form);

        if(response.data.success == false)
        {
            console.log(response.data.message);
        }
        else
        {
            this.$router.push('/');
        }
    }
    catch (error)
    {
        let { errors } = error.response.data;

        this.button = false;
        this.errors = {};

        Object.keys(errors).forEach(element => {
            this.errors[element] = errors[element][0];
        });
    }
},

【问题讨论】:

    标签: vue.js post axios cors preflight


    【解决方案1】:

    这不是问题,由浏览器设计控制。

    这不是 Axios 或任何其他 HTTP 客户端决定发送的内容。

    preflight request 是一个 CORS OPTIONS 请求,由浏览器自动发送,专门用于检查服务器是否支持您尝试根据 methodheadersorigin 进行的调用。

    如果请求没有失败,您可以放心地忽略这些请求,因为这意味着服务器不会基于上述因素拒绝您的请求。

    您的问题与端点不存在有关,因为您收到了 404 Not Found error - 检查端点是否存在或者您是否正确调用它。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 2019-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 2021-11-16
      • 1970-01-01
      相关资源
      最近更新 更多