【问题标题】:Why does axios always send empty object?为什么axios总是发送空对象?
【发布时间】:2017-04-07 00:40:28
【问题描述】:

我正在努力解决这个问题,这让我很生气。我正在尝试使用 axios 发布请求发送数据对象。它可以进入文件,但对象始终为空。所以当我使用这段代码时:

axios.post('php/send_email.php', {
  params: {
    name: 'niall'
  }
})
.then(function (result) {

  console.log(result)

});

然后使用下面的php:

<?php
  echo $_POST['name'];
?>

对于http请求的结果,它总是会输出一个名称未定义的错误。谁能解释一下我哪里出错了?

我还注意到这似乎是发送对象的问题,因为当我尝试时:

axios.post('php/send_email.php', 'niall' )
.then(function (result) {
  console.log(result)
});

然后使用以下命令打印出数组:

<?php
 print_r($_POST);
?>

它会显示:

对象{数据:“Array↵(↵ [niall] => ↵)↵”,状态:200,状态文本:“OK”,标题:对象,配置:对象...}

【问题讨论】:

标签: javascript php axios


【解决方案1】:

尝试这样发送

axios.post('php/send_email.php', { name: 'niall' }})

而不是将参数包装在额外的params 对象中。

【讨论】:

  • 静态名称未定义。 :-(
  • 是的,它给出了这个:Object {data: "Array↵(↵)↵", status: 200, statusText: "OK", headers: Object, config: Object...}
  • 但这是一个空数组。数据是一个空数组。里面没有name参数。
  • 感谢您的帮助。如果我能修复它,我会在这里发布。
  • 不客气 :) 并耐心等待,您能否使用var_dump 而不是print_r 打印相同的内容。两者都会给我们相同的。但只是检查
猜你喜欢
  • 2011-12-27
  • 2019-12-30
  • 2016-12-02
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 1970-01-01
  • 2017-04-13
相关资源
最近更新 更多