【问题标题】:Axios POST request passing all params as one body keyAxios POST 请求将所有参数作为一个主体键传递
【发布时间】:2018-01-11 21:00:12
【问题描述】:

我有一个简单的 Axios POST 请求:

 const data = JSON.stringify({
    to: receiver,
    from: sender,
    body: message
  });

  axios.post(window.location.origin + '/sms/outgoing', data)

我的问题是我的 api 读取请求正文是这样的:

{ '{"to":"12345","from":"54321","body":"message"}': '' }

当我希望它是这样的时候:

{"to":"12345","from":"54321","body":"message"}

我哪里错了?

【问题讨论】:

  • 如果不对数据进行字符串化会发生什么?
  • @helllomatt 正文为空白
  • 我也遇到了同样的问题,你是怎么解决的?
  • 这是duplicated,并且刚刚发布了一个提议的solution

标签: node.js post axios


【解决方案1】:

不需要JSON.stringify 方法..

  const data = {
      to: receiver,
      from: sender,
      body: message
    };

  axios.post(window.location.origin + '/sms/outgoing', data)

但您需要 JSON.stringify 方法来跟踪此后端 api 调用

  app.route(window.location.origin + '/sms/outgoing',(req,res)=>{
    let data = JSON.parse(req.body)
    console.log(data) //get {"to":"12345","from":"54321","body":"message"}
 })

【讨论】:

    【解决方案2】:

    如果要从 JSON 字符串中解析 JSON 对象,只需使用 JSON.parse 函数

    const object = JSON.parse({
      someJSONString: true,
    })
    

    【讨论】:

    • 我没有使用ajax,axios.setRequestHeader不是函数。
    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2020-06-16
    • 2021-08-24
    • 1970-01-01
    • 2018-09-21
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多