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

时间:2018-04-09 10:31:10

标签: javascript php jquery

我正在尝试将带有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栏:

正在写入的文件具有正确的权限

1 个答案:

答案 0 :(得分:0)

错误来自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']);