如何使用jquery/ajax将数据发送到json文件

如何使用jquery/ajax将数据发送到json文件,jquery,ajax,json,post,Jquery,Ajax,Json,Post,我找到了无数关于如何使用jQuery和ajax从json文件检索数据的教程,但没有一本是关于如何将数据发布到json文件的。如果有人能给我看或者给我发一个关于如何做到这一点的小脚本,那就太好了。我到处寻找如何做到这一点,但都没有运气。我见过这样做的例子,但他们似乎忘记了分享我没有看到的重要信息。我使用ajax检索数据json文件没有问题。 如果有人能告诉我,如果我忘记了什么或做错了什么,那就太好了。 如果有人能寄给我一个工作文件,我会非常感激,这样我就可以对ir进行反向工程,并了解如何做。 我想

我找到了无数关于如何使用jQuery和ajax从json文件检索数据的教程,但没有一本是关于如何将数据发布到json文件的。如果有人能给我看或者给我发一个关于如何做到这一点的小脚本,那就太好了。我到处寻找如何做到这一点,但都没有运气。我见过这样做的例子,但他们似乎忘记了分享我没有看到的重要信息。我使用ajax检索数据json文件没有问题。 如果有人能告诉我,如果我忘记了什么或做错了什么,那就太好了。 如果有人能寄给我一个工作文件,我会非常感激,这样我就可以对ir进行反向工程,并了解如何做。 我想将$firstName和$caption中的值发送到json文件。 我知道这对其他人来说可能很愚蠢,但我厌倦了所有的搜索,没有得到任何直接的答案

这是我的

      getImages: function(){
        var $firstName = $(".name"),
            $caption = $(".caption");
        var object = {
            name: $firstName.val(),
            caption: $caption.val()
        }
        $.ajax({
            type: 'POST',
            data: object,
            url: 'images.json',
            success: function(data){
                console.log("KILLER");
                var count = 0;
                $.each(data, function(i, imgSlide){
                    count ++;
                    //console.log(result.sliderImages[i].url[0].thumb);
                    var imageEl = "<img src='"+imgSlide.url[0].thumb+"' alt='"+imgSlide.name+"'>";
                    var slide = "<li class='imageSlide' data-id='"+count+"'>"+imageEl+"</li>";
                    $("ul.imageGallery").append(slide).fadeIn();
                });
            },
            error: function(){
                console.log("Abort");
            },
            timeout: 3000,
            beforeSend: function(){

            },
            complete: function(){

            }
        });

    }

因此,您需要使用服务器端脚本语言。在本例中,我们将使用PHP

定义json对象后,将其转换为字符串,并通过post将其发送到php文件。PHP将从那里获取它并将其编码为JSON对象。此json对象将保存到一个名为my_json_data.json的文件中,其中包含php函数文件_put_contents()。如果要附加新内容而不是替换旧内容,请使用以下功能:

file_put_content('my_json_data.json', $jsonObject, FILE_APPEND);
JavaSrcipt:

var $firstName = $(".name"),
    $caption = $(".caption");
var object = {
    name: $firstName.val(),
    caption: $caption.val()
}

var params = JSON.stringify(object);

$.ajax({
    type: 'POST',
    data: params,
    url: 'save_to_json.php',
    success: function(data){
        // do something on success
    },
    error: function(){
        // do something on error
    }
});
    if (!isset($_POST['params']) && !empty($_POST['params'])) {
        $params = $_POST['params'];

        $jsonObject = json_encode($params);
        file_put_contents('my_json_data.json', $jsonObject);
    }
PHP(保存到json.PHP):

var $firstName = $(".name"),
    $caption = $(".caption");
var object = {
    name: $firstName.val(),
    caption: $caption.val()
}

var params = JSON.stringify(object);

$.ajax({
    type: 'POST',
    data: params,
    url: 'save_to_json.php',
    success: function(data){
        // do something on success
    },
    error: function(){
        // do something on error
    }
});
    if (!isset($_POST['params']) && !empty($_POST['params'])) {
        $params = $_POST['params'];

        $jsonObject = json_encode($params);
        file_put_contents('my_json_data.json', $jsonObject);
    }

我希望我没有错过什么。祝你好运。

有点不清楚……
客户端语言无法在服务器上写入或编辑内容
通过AJAX(有或没有jQuery),您只能读取或发送数据
因此,您可以将数据传递到php文件,然后通过php执行您想要执行的操作。
下面是一个在php中使用文件的教程

下面是另一个通过AJAX在php文件中获取传递数据的方法

查看$\u获取$\u发布$\u请求

祝你好运

你是说,发布数据并将其保存到JSON文件中?为此,您需要一种服务器端脚本语言,如php。无法发布到不可执行的文本文件。这就是我所想的,我只是无法得到一个直接的答案。到了我愿意问这个愚蠢的问题并解决它的地步。非常感谢。当我看到这段关于使用ajax和json发布的视频时,我感到困惑,但他没有在视频中提到使用php的部分。感谢您抽出时间来帮助我。我不确定他是否需要php来完成这个过程,现在我知道你需要它。我问了一个愚蠢的问题,但很高兴我终于问了。我很高兴我帮了忙。如果这个答案解决了你的问题,请检查它是否被接受:)@HristoEnev我也尝试了你的解决方案,而且效果很好。但是,在写入json文件时,会有空格和\\符号。如何处理这个问题?它似乎不是正确的json格式。