问题
我正在向PHP发送一个数组,然后创建一个data.json来存储它。 data.json确实已创建,但输出为Null。
我确信我做错了什么,但我不知道是什么。我已经盯着这段代码大约2个小时,在这里查看了很多已回答的问题,但没有任何效果。
我可以用一双新眼睛。我对编程很熟悉,尤其是webdev,所以我事先道歉。
提前致谢!
我发送给PHP的数组
[
{
"mainTitle": "workplace",
"mainImage": "dog.png"
},
{
"objAudio": "1.mp3",
"objImage": "1.png",
"objText": "Number 1",
"objLocation": {
"X": 49,
"Y": 127
}
},
{
"objAudio": "2.mp3",
"objImage": "2.png",
"objText": "Number 2",
"objLocation": {
"X": 124,
"Y": 117
}
}
]
AJAX
$.ajax({
type:"POST",
url:"toJSON.php",
data: {data : jsonString},
cache: false,
succes: function(){
console.log("Saved!");
}
});
PHP
$superArray = $_POST['data'];
$path = "json/data.json";
file_put_contents($path, $superArray));
答案 0 :(得分:0)
首先,您需要确保jsonString
格式为json
。然后试试这个:
JAVA SCRIPT
$.ajax({
type: 'POST',
url: 'toJSON.php',
data: {json: JSON.stringify(jsonString)},
dataType: 'json'
}).done( function( data ) {
console.log('sent');
})
.fail( function( data ) {
console.log('fail');
});
<强> PHP 强>
result = json_decode($_POST['json']);
var_dump(result);
现在,如果您想将其保存到您的文件中:
$path = "json/data.json";
file_put_contents($path, json_encode($_POST['json']));
OR Serialize
喜欢:
file_put_contents($path, serialize($_POST['json']));