【问题标题】:axios DELETE request with body in Nuxt.js在 Nuxt.js 中带有正文的 axios DELETE 请求
【发布时间】:2020-12-26 18:27:45
【问题描述】:

我有一个使用 Nuxt.js 构建的应用程序。为了从 API 获取数据,我使用 axios,即@nuxtjs/axios。除了 DELETE 方法之外,所有请求都可以正常工作。

我的语法如下:

      async removeItemFromCart(productId) {
        const accessKey = await this.$store.dispatch('fetchUserAccessKey');
        try {
            this.$axios.delete(`/api/baskets/products?userAccessKey=${ accessKey }`, {
                data: {
                    productId: productId
                }
            })
        } catch (error) {
            console.log(error);
        }
    },

但是,在控制台中我总是收到以下错误:createError.js?2d83:16 Uncaught (in promise) Error: Request failed with status code 400

我尝试使用参数而不是数据,但无济于事。我在这里错过了什么?

【问题讨论】:

    标签: axios nuxt.js


    【解决方案1】:

    似乎 axios 存在问题:当您将 delete 方法与正文一起使用时,它要么不包含有效负载,要么从标头中删除 Content-type: 'application/json'。为了解决这个问题,我使用.request而不是.delete(根据https://github.com/nuxt-community/axios-module/issues/419

                    this.$axios.request(`/api/baskets/products?userAccessKey=${ accessKey }`, {
                        data: {
                            productId: productId
                        },
                        method: 'delete'
                    }).
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 2018-04-27
      • 2021-01-03
      • 2021-11-17
      • 1970-01-01
      • 2020-02-14
      • 2019-11-29
      相关资源
      最近更新 更多