带有 json 数据的 axios 发布请求

Posted

技术标签:

【中文标题】带有 json 数据的 axios 发布请求【英文标题】:axios post request with json data 【发布时间】: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); 是的,工作...... 【参考方案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`);
    
  

【讨论】:

以上是关于带有 json 数据的 axios 发布请求的主要内容,如果未能解决你的问题,请参考以下文章

axios 为带有表单数据的发布请求返回 404

执行带有axios的GET请求时出现401错误

axios get请求后访问json数据

3-Vue-通过axios实现数据请求json数据的语法同源策略

vue通过axios请求本地json数据

使用带有参数对象的 Axios Post 没有返回数据