【问题标题】:axios post request with json data带有 json 数据的 axios 发布请求
【发布时间】:2017-08-14 23:13:26
【问题描述】:

我正在使用 Axios JS 库来发送 post json 请求。但我在服务器上没有收到任何东西。这是我的代码

const dt = JSON.stringify({"data":{"value":"gdfg1df2g2121dgfdg"}});
const request = axios.post(url, {dt});

我需要发送 以 json 格式发布原始正文

【问题讨论】:

  • 您发送的标头是什么?
  • 不发送任何标头。我用邮递员测试了服务器,没有任何标题,服务器工作正常。
  • 不确定,但试试const request = axios.post('https://api.medlanes.com/booking_center/call/get_products', dt);
  • 是的,工作......

标签: javascript ajax reactjs redux axios


【解决方案1】:

axios 默认使用 Json 来发布数据,因此您不需要对数据进行字符串化。问题可能是你正在这样做。您可以尝试在没有它的情况下发布帖子并检查它是否有效吗?此外,除非这是服务器中对象的格式,否则您不需要花括号来包装数据。否则,您能否提供有关请求正文的信息,以便我了解更多上下文?您可以使用网络选项卡在 chrome 开发工具中进行检查

【讨论】:

  • 这正是我所需要的。 :)
【解决方案2】:

您不需要对有效负载进行字符串化。 Axios 会在它发送请求时为你做这件事。

const dt = { data: { value: "gdfg1df2g2121dgfdg" }};
const request = axios.post(url, dt);

【讨论】:

  • 请编辑您的答案以包含有关如何解决问题的说明。这将使原始发布者和将来的其他用户的答案更易于理解和有用。谢谢。
【解决方案3】:

Axios 用于以 json 为主体的 post 请求:

  static async postService(path, data = {}) {
    const requestUrl = HttpRequest._getRequestUrl(path);

    try {
      const ret = await axios.post(requestUrl, JSON.stringify(data));
      console.log('Request result ', ret);
    } catch (error) {
      console.error(`Request error: ${error.message}`);
    }
  }

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 2019-07-02
    • 2021-08-02
    • 2021-08-11
    • 2019-11-13
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多