You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用axios调用GET API返回500但Postman调用正常该如何解决?

问题原因及修复方案

  • 参数转义错误:你代码中group参数值写的是Baby&Kids,这里的&是HTML场景下的&转义实体,接口实际需要接收的是Baby&Kids。axios会自动对参数做URL编码,不需要提前做HTML转义,直接修改参数值即可:
    group: 'Baby&Kids'
    
  • 空值参数多余传递:你代码中把所有未赋值的参数都传了空字符串,很多服务端对「不传参数」和「传空字符串参数」的校验逻辑完全不同。Postman中你没填的参数默认不会发送,就可以正常返回,axios传了多余空值参数就会触发服务端报错。建议先过滤掉所有空值再传参:
    const params = {
      group: 'Baby&Kids',
      subgroup: '',
      subsubgroup: '',
      pagesize: '',
      pagenum: '4',
      minprice: '',
      maxprice: '',
      brand: '',
      size: '',
      promotion: '',
      bhgexclusive: '',
      sortorder: '',
      sortby: '',
      search: '',
    }
    // 过滤空值
    const filteredParams = Object.fromEntries(Object.entries(params).filter(([k, v]) => v !== ''))
    
    axios
      .get('/dwapi/productsapi/GetProductList', {
        params: filteredParams
      })
      .then(res => {
        console.log(res);
        // dispatch({
        //    type: FETCH_PRODUCT_LIST,
        //    payload: res.data,
        // });
      })
      .catch(err => {
        throw err;
      });
    
  • 请求配置不一致:如果上述修改后还是报错,打开浏览器控制台「网络」标签,找到对应请求,把完整请求URL、请求头和Postman的请求内容逐一对比,重点检查是否漏传了鉴权头、Content-Type等必要配置,也可以直接把浏览器里的请求完整URL复制到Postman调用,验证是否是参数本身的问题。
  • 路径代理错误:你axios用的是相对路径,确认本地开发代理配置是否正确转发到了你Postman调用的目标服务域名下,避免请求到了错误的服务实例。

内容的提问来源于stack exchange,提问作者Kerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:36:02