我在Javascript中生成连接字符串:
var result = '';
for (i = 0; i < j.result.length; i++) {
// bunch of string formatting code here
result += stringAsWeGo;
}
这个“result”字符串是一个格式化为JSON的字符串对象...我想将此字符串保存为服务器上的.json文件。所以我正在使用这样的AJAX和PHP:
var obj = JSON.parse(result);
$.ajax({
url: 'json.php',
data: obj,
dataType: "json",
type: "POST"
});
我的json.php文件如下所示:
<?php
$json = $_POST['json'];
$file = fopen('jsonfile.json', 'w+');
fwrite($file, $json);
fclose($file);
?>
但没有任何内容写入服务器。现有的空白jsonfile.json文件为空,其中没有json。
答案 0 :(得分:1)
您似乎没有名为json
的参数,请尝试
//var obj = JSON.parse(result);
$.ajax({
url: 'json.php',
data: {
json: result
},
dataType: "json",
type: "POST"
});
注意:不要使用字符串连接创建json对象。您可以创建一个对象,然后使用JSON.stringify()
将值作为参数值发送到服务器。
var obj = {};
//do some processing here which adds some properties to obj like
obj.name = 'x';
obj.id = 4
$.ajax({
url: 'json.php',
data: {
json: JSON.stringify(obj)
},
dataType: "json",
type: "POST"
});