我正在尝试将带有JSON数据的POST请求发送到PHP文件,并让PHP文件将数据写入另一个文件。
var json = JSON.stringify(blogObj);
$.post("addBlog.php", { json: json }, function(data, status) {
alert("Sent!");
});
<?php
$myfile = fopen("blog.json", "w") or die("Unable to open file!");
$txt = $_POST["json"];
fwrite($myfile, $txt);
fclose($myfile);
?>
每当发送 POST 请求时,我在控制台中收到以下错误
XML 分析错误:未找到
根元素 位置: http://localhost/addBlog.php
第 6 行,第 3 列:
要写入的文件具有正确的权限
错误来自 jQuery。我假设它尝试将响应解析为 XML 请求。
另一个问题是$_POST["json"]
是一个数组,不能直接写入文件。
请尝试以下操作:
$.post("ajax.php", {json: {test: 1, test2: 2, huhu: "du da"}}, function(data) {
console.log(data);
}, "json"); // <- parse response as JSON instead of XML
对于 ajax.php:
<?php
file_put_contents("/tmp/storage.log", json_encode($_POST["json"])."n", FILE_APPEND);
echo json_encode(['status' => 'ok']);