我只是想从我的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链接的帖子的答案,我能够成功地在我的服务器上获取数据!
答案 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);
});