1

我想使用reduxand将一些数据发送到 php 脚本,promise如下所示。

export function fetchFileContent() {
    return {
        type: "FETCH_FILECONTENT",
        payload: axios.post("/api/ide/read-file.php", {
            filePath: document.getArgByIndex(0)[0]
        })
    };
}

但是php脚本无法接收数据。$_POST当我在using中打印所有数据时var_dump。里面什么都没有。

我在谷歌浏览器调试工具中检查了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 脚本中的数据?

4

1 回答 1

10

感谢 Matt Altepeter 和他的评论,我终于通过添加以下行来解决:

$_POST = json_decode(file_get_contents('php://input'), true);

所以如果我var_dump($_POST)现在做,我可以得到数据filePath

array(1) {
  ["filePath"]=>
  string(10) "/I am here"
}
于 2016-12-29T18:46:10.713 回答