保存 json 对象 fo 文件


Saving json object fo file

我需要将 json 对象保存到文件中。因此,我正在使用另一个将数据写入文件的PHP脚本。数据和文件名由 ajax POST 请求发送。

var results = $('results');
var filename = $('#filename').val();
$.ajax({
    url: 'jsonWriter.php',
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: JSON.stringify([{data: data, filename: filename }]),
    success: function(data) {
        results.html(data);
    },
    error: function(jqXhr, textStatus, error) {
        results.html("<p class='"error'">ERROR: " + textStatus + ", " + error + "</p>");
    }
});

当我在 Fiddler 中监视请求时,它看起来不错,发布的数据是正确的。但是,以某种方式调用了错误函数。它输出

ERROR: parsererror, SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data

我将 Fiddler 发布的 JSON 数据复制到不同的在线解析器中,这确保了它的有效性。

为什么仍然调用错误函数?

在我看来

,您期望服务器返回文本内容,因为您正在将其应用于.html

success: function(data) {
    results.html(data);
},

但是,你告诉jQuery需要JSON数据:

dataType: "json",

因此,jQuery正在尝试将从服务器返回的内容解析为JSON,但失败。您需要将dataType更改为 texthtml