PHP 写入文件 - XML 解析错误:未找到根元素



我正在尝试将带有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']);

最新更新