我使用这个PHP脚本将一些JSON数据保存到JSON文件中:
<?php
$myFile = "json/countries.json";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $_POST["data"];
fwrite($fh, $stringData);
fclose($fh)
?>
使用此JS函数将数据发送到PHP脚本:
saveJson(countries, '/save_countries_to_json.php');
function saveJson(object, file) {
$.ajax
({
type: "POST",
dataType : 'json',
async: false,
url: file,
data: { data:object },
success: function () {alert("Thanks!"); },
failure: function() {alert("Error!");}
});
}
但唯一发生的事情是我尝试保存数据的JSON文件已清空。
如果我改变
data: { data:object },
到
data: { data:jQuery.parseJSON(object) },
我得到了
Uncaught SyntaxError:意外的令牌A
&#39; A&#39;代表什么?
如果有人知道什么是错的,请分享你的智慧:)
谢谢!
答案 0 :(得分:0)
在你的php文件中试试这个
<?php
$myFile = "json/countries.json";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = urldecode($_POST["data"]);
$stringData1 = json_encode(json_decode($stringData));
fwrite($fh, $stringData1);
fclose($fh)
?>
在js文件中添加
saveJson(countries, '/save_countries_to_json.php');
function saveJson(object, file) {
$.ajax
({
type: "POST",
dataType : 'json',
async: false,
url: file,
data: { data:object },
success: function () {alert("Thanks!"); },
failure: function() {alert("Error!");}
});
}