我通过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
?>
请告诉我方式。感谢。
答案 0 :(得分:1)
json_decode
方法返回一个对象,可以访问其属性:
$obj = json_decode($data);
print $obj->cartID;
或传递true作为第二个参数来获取类似这样的数组:
$obj = json_decode($data, true);
print $obj['cartID'];