我不会创建一个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);
}
答案 0 :(得分:0)
Javascript应该使用:
xhr.send(jsonString);
因为发送的数据必须是字符串,而不是对象。
在PHP中,要阅读原始发布数据,您应该使用:
$rawjson = file_get_contents("php://stdin");
$jsonObj = json_decode($rawjson);
$_POST
只能用于使用网址编码或multipart/form-data
编码格式化的表单数据。