将JSON写入文件

时间:2014-07-02 20:53:02

标签: javascript php json

我不会创建一个JSON文件并使用php脚本保存。我收到此错误消息(Firefox)

  

NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED:JavaScript组件没有名为的方法:"可用"' JavaScript组件没有名为的方法:"可用"'调用方法时:[nsIInputStream :: available]

当我使用Chrome时,我没有收到错误消息,但它也不起作用。

JavaScript的:

var jsonString = '{ "foo": 1, "bar": { "baz" : 1 } }';
var data = JSON.parse( jsonString );
var xhr = new XMLHttpRequest();     
xhr.open('POST', './php/upload.php', true);
xhr.send(data); 

PHP:

$dateiname = "test12345.json"; 

if (isset($_POST) && count($_GET)==0) { 

    $jsonObj = $_POST; 
    $fh = fopen($dateiname, 'w'); 
    $input = json_encode($jsonObj); 
    fwrite($fh, $input); 
    fclose($fh); 
}

1 个答案:

答案 0 :(得分:0)

Javascript应该使用:

xhr.send(jsonString);

因为发送的数据必须是字符串,而不是对象。

在PHP中,要阅读原始发布数据,您应该使用:

$rawjson = file_get_contents("php://stdin");
$jsonObj = json_decode($rawjson);

$_POST只能用于使用网址编码或multipart/form-data编码格式化的表单数据。