如何检索ajax传输到php变量的数据

时间:2018-01-11 14:42:10

标签: javascript php ajax

我通过json类型成功地将对象发送到php文件并将其写入.txt文件,如下所示:

<script>
var buyInfo = {
  cartID : '123',
  sum : '456',
};

var data = new FormData();
data.append("data", JSON.stringify(buyInfo)); 
var xhr = (window.XMLHttpRequest) ? new XMLHttpRequest() : new 
activeXObject("Microsoft.XMLHTTP");
xhr.open( 'post', './buy.php', true );
xhr.send(data);
</script>

但是,我无法检索此数据并将其分配给php变量以进行打印,如下所示:

<?php
if(!empty($_POST['data'])){
$data = $_POST['data'];
$fp = fopen('data.txt', 'w');
fwrite($fp, $data);
fclose($fp);

$obj = json_decode($data);
print $obj->{'cartID'}; // cannot print out
}
echo file_get_contents('data.txt'); //can print out
?>
请告诉我方式。感谢。

1 个答案:

答案 0 :(得分:1)

json_decode方法返回一个对象,可以访问其属性:

$obj = json_decode($data);
print $obj->cartID;

或传递true作为第二个参数来获取类似这样的数组:

$obj = json_decode($data, true);
print $obj['cartID'];