【问题标题】:Axios - Cannot use 'in' operator to search for 'validateStatus' [duplicate]Axios - 无法使用“in”运算符搜索“validateStatus”[重复]
【发布时间】:2021-01-23 18:37:01
【问题描述】:

当我尝试通过 axios 删除寄存器时遇到以下问题:

不能使用 'in' 运算符在 {"name_group":"BBBB","UMB":"BS"} 中搜索 'validateStatus'

这是我删除寄存器的代码:

    export const deleteProduct= async (product) => {
        const params = JSON.stringify({
        "name_group":product.name_group,
        "UMB": product.UMB
        });
    
        return await axios.delete("https://anyDomanin.cloud/Inventory/products/", params,{
            "headers": {
              "content-type": "application/json",
            },
          });
    };

创建,更新和获取功能完美运行,但是当我删除时出现此问题。

当前 axios 版本:0.20.0

PD:当我通过邮递员删除工作时,但当我通过我的 WebApp 进行操作时不起作用。

编辑:

我试过了,但还是不行:


    export const deleteProduct= async (product) => {

    const params = JSON.stringify({
    "name_group":product.name_group,
    "UMB": product.UMB
    });

    const config = {
      headers: {
        "content-type": "application/json",
      },
      body: params
     
    }

    return await axios.delete("https://anyDomanin.cloud/Inventory/products/", config);
};

【问题讨论】:

  • 你为什么要对参数进行字符串化?
  • axios.delete 不接受请求正文作为第二个参数。将body: params 放入配置对象中。
  • @EmileBergeron 我必须以这种格式将数据发送到服务器,这就是它与创建、更新和获取请求的工作方式,但是当我尝试发出删除请求时遇到了这个问题。
  • 您必须显示您尝试过的代码。如果是完全相同的错误信息,则说明您没有删除第二个参数。
  • 你说得对,还是谢谢你。但是,我可以按照用户在此链接github.com/axios/axios/issues/897 中提出的设计来解决它

标签: javascript axios


【解决方案1】:

我可以按照下一个结构解决它:

   return await axios({
        method: 'DELETE',
        url: 'https://anyDomanin.cloud/Inventory/products/',
        data: {
        name_group: product.name_group,
        UMB: product.UMB
        }
      })

我是基于Christilut在以下链接中提出的解决方案:https://github.com/axios/axios/issues/897

【讨论】:

  • 这也解决了我的问题。非常感谢您的分享!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-03
  • 2013-01-15
  • 2018-05-02
  • 2019-10-10
  • 2018-07-06
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多