PrototypeONE 2024-03-12 12:54 采纳率: 50%
浏览 52
已结题

post请求postman成功uniapp的axios报404

uniapp使用axios请求,已经用了axios-miniprogram-adapter进行了适配
axios的post请求后端接口返回404
但是使用postman一切正常
下面是代码和控制台的内容

img

img

img

img

img

img

  • 写回答

20条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-12 12:55
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    从您提供的信息来看,您在使用uniapp通过axios发起POST请求时遇到了404错误,而在postman中同样的请求是成功的。问题可能出在uniapp的axios配置或请求体格式上。根据您给出的代码和控制台输出,以下是一些可能的问题点以及解决方案:

    1. URL与accessToken的位置

      • 在Postman中,您将accessToken作为查询参数附加到URL后面:https://10.252.252.252/api/v1/device/getStatus?access_token=eeb91132868c27bd14319e2e1dd04e43
      • 而在uniapp的axios请求中,您将accessToken放在params对象内,而不是直接添加到URL。

      解决方案:

      // 将accessToken从params移到URL查询参数
      url: '/api/v1/device/getStatus?accessToken=' + token,
      
    2. 数据序列化问题

      • 您在uniapp axios请求中对data进行了JSON.stringify处理,这使得整个data以字符串形式发送,而不是JSON格式。

      解决方案:

      • 如果后端接口期望接收JSON格式的数据,则不需要JSON.stringify:
        data: {
          "LoraPlug": {
            "all": false,
            "group_ids": [],
            "device_ids": ["GHK8270146"]
          },
          "LoRaTempHumid": {
            "all": true,
            "group_ids": [],
            "device_ids": []
          }
        },
        
    3. 跨域设置

      • 确保服务器端已正确配置了CORS,并允许来自uniapp的请求。
    4. baseURL结尾斜线问题

      • baseURL末尾有无斜线可能影响最终请求路径的构建。确保您的后端API能够接受不带尾部斜线的请求路径,或者在baseURL中添加一个尾部斜线。

    如果上述调整仍无法解决问题,请检查以下几个方面:

    • 后端API文档,确认请求方法、路径、头部信息(如Content-Type)是否匹配。
    • 检查服务端日志,查看是否有更详细的错误信息。
    • 确认axios-miniprogram-adapter在uniapp环境下工作正常,没有引入额外的问题。
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端