PHP 脚本无法在 Redux 动作函数中接收来自 axios 请求的数据
PHP Script Cannot Receive Data from axios's Request in Redux Action Function
我想使用 redux
和 promise
将一些数据发送到 php 脚本,如下所示。
export function fetchFileContent() {
return {
type: "FETCH_FILECONTENT",
payload: axios.post("/api/ide/read-file.php", {
filePath: document.getArgByIndex(0)[0]
})
};
}
但是php脚本收不到数据。当我使用 var_dump
打印 $_POST
中的所有数据时。里面什么都没有。
我在GoogleChrome调试工具中查看了Request Payload,好像没有问题。
在我的 php 脚本中:
if (isset($_POST["filePath"]))
echo "yes";
else
echo "no";
echo "I am the correct file";
var_dump($_POST["filePath"]);
$dir = $_POST['filePath'];
echo $_POST['filePath'];
我得到了这样的回复:
noI am the correct file<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>7</b><br />
NULL
<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>9</b><br />
<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>10</b><br />
如何取回 php 脚本中的数据?
感谢 Matt Altepeter 和他的评论,我终于通过添加以下行解决了问题:
$_POST = json_decode(file_get_contents('php://input'), true);
因此,如果我现在执行 var_dump($_POST)
,我可以获得数据 filePath
。
array(1) {
["filePath"]=>
string(10) "/I am here"
}
我想使用 redux
和 promise
将一些数据发送到 php 脚本,如下所示。
export function fetchFileContent() {
return {
type: "FETCH_FILECONTENT",
payload: axios.post("/api/ide/read-file.php", {
filePath: document.getArgByIndex(0)[0]
})
};
}
但是php脚本收不到数据。当我使用 var_dump
打印 $_POST
中的所有数据时。里面什么都没有。
我在GoogleChrome调试工具中查看了Request Payload,好像没有问题。
在我的 php 脚本中:
if (isset($_POST["filePath"]))
echo "yes";
else
echo "no";
echo "I am the correct file";
var_dump($_POST["filePath"]);
$dir = $_POST['filePath'];
echo $_POST['filePath'];
我得到了这样的回复:
noI am the correct file<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>7</b><br />
NULL
<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>9</b><br />
<br />
<b>Notice</b>: Undefined index: filePath in <b>/var/www/html/api/ide/read-file.php</b> on line <b>10</b><br />
如何取回 php 脚本中的数据?
感谢 Matt Altepeter 和他的评论,我终于通过添加以下行解决了问题:
$_POST = json_decode(file_get_contents('php://input'), true);
因此,如果我现在执行 var_dump($_POST)
,我可以获得数据 filePath
。
array(1) {
["filePath"]=>
string(10) "/I am here"
}