ReactJS POST参数未发送

时间:2017-12-04 19:02:12

标签: php reactjs post cors

我只是想从我的ReactJS应用程序发送的PHP服务器上获取POST参数。在服务器响应中,我可以看到' myParameter'是 null 。我认为这是因为Cross Origin问题,但我已经从类似问题的答案中尝试了许多建议,而且我所尝试的一切都没有效果。我相信我正在寻找适当的代码添加到我的PHP文件中。这个问题已经过去了几天,我希望有人可以提供帮助。

背景信息(如果有意义的话)。我的PHP文件在我的服务器上托管了hostgator。使用URL参数的GET请求工作正常,但POST参数似乎被阻止。我尝试发送的数据超过了URL选项允许的数据。

非常感谢你!

ReactJS代码:

axios.post('https://mywebsite.com/endpoint.php', {
  myParameter: 'test',
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

PHP代码:

<?php

header("Access-Control-Allow-Origin: *");

echo json_encode($_POST['myParameter']);

?>

我也试过了,但没有改变结果:

<?php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Max-Age: 86400');

echo json_encode($_POST['myParameter']);

?>

修改

根据Aaqib链接的帖子的答案,我能够成功地在我的服务器上获取数据!

2 个答案:

答案 0 :(得分:1)

我通常更喜欢具有属性的axios构造函数。它比短手方法更清晰。

axios({
  method:'POST',
  url:'https://mywebsite.com/endpoint.php',
  headers:{},
  data:{
    myParameter: 'test'
  }

}).then((res)=>{})
.catch((err)=>{});

答案 1 :(得分:0)

试试这个,看它是否有效。

 axios.post('https://mywebsite.com/endpoint.php', {data: {
     myParameter: 'test'
    }
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});