在Javascript / AJAX中将连接字符串中的JSON文件保存到服务器

时间:2014-12-16 04:04:10

标签: jquery ajax json

我在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。

1 个答案:

答案 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"
});