当前位置: 首页 > 面试题库 >

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

吕承福
2023-03-14
问题内容

我发现了无数关于如何使用jQuery和Ajax从json文件中检索数据的教程,但是没有关于如何将 数据发布到json文件中的* 教程*。
如果有人可以向我展示或给我发送有关如何执行此操作的小脚本,那就太好了。我到处都在搜索如何执行此操作,但是没有运气。我见过有人这样做的例子,但他们似乎忘记了分享我没有看到的重要信息。我使用ajax检索数据json文件没有问题。如果有人可以告诉我我是否忘记某件事或做错了什么,那将是很好的。如果有人可以向我发送工作文件,以便我可以对工程师进行反向工程并了解如何做,我将不胜感激。我想将值从$
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(){

            }
        });

    }

这是我的JSON文件

    [{
      "name": "Bootcamp",
      "url": [{
        "thumb": "img/ill-bootcamp.jpg",
        "med": "img/ill-bootcamp.jpg",
        "large": "img/ill-bootcamp.jpg"
            }],
      "caption": "Lifetime Fitness",
      "ID": ""
     },
     {
       "name": "Pinup Girl",
       "url": [{
            "thumb": "img/ill-pinup.jpg",
            "med": "img/ill-pinup.jpg",
            "large": "img/ill-pinup.jpg"
             }],
      "caption": "Illustration",
      "ID": ""
     },
     {
       "name": "SixDitch",
       "url": [{
             "thumb": "img/web-sixditch.jpg",
             "med": "img/web-sixditch.jpg",
             "large": "img/web-sixditch.jpg"
             }],
       "caption": "SD MotorSports",
       "ID": ""
     }]

问题答案:

因此,您将需要使用服务器端脚本语言。在这种情况下,我们将使用PHP。

定义json对象后,将其转换为字符串,然后通过post将其发送到php文件。PHP将从那里开始将其编码为JSON对象。该json对象将使用php函数file_put_contents()保存到名为my_json_data.json的文件中。如果您想添加新内容而不是替换旧内容,请使用以下函数:

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
    }
});

PHP(save_to_json.php):

    if (!isset($_POST['params']) && !empty($_POST['params'])) {
        $params = $_POST['params'];

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

我希望我不会错过任何东西。祝好运。



 类似资料:
  • 问题内容: 我是PHP / jquery的新手,我想问一下如何使用json格式的ajax从表单字段(例如(名称,年龄等))发送json数据。可悲的是,我找不到与此相关的任何信息,甚至可以动态地进行?Google搜索仅提供诸如手动建立数据之类的答案。:,等等。 反正有做吗? 谢谢您的帮助! 编辑: 问题答案: 这是一个简单的 这是我的test.php仅用于测试 这是我的index.html 两个文件

  • 问题内容: 我正在尝试使用j查询$ .ajax方法向我的php脚本发送多个数据,但是当我连接多个数据时我只能传递单个数据我的php脚本tat中出现未定义的索引错误,意味着发出了ajax请求,但没有数据发送,我需要知道如何格式化多个数据以依次将其发送到名称为vale对的处理脚本中,这是我写的 问题答案: 您可以创建一个键/值对的对象,jQuery将为您完成其余工作: 这样,数据将被自动正确编码。如果

  • 问题内容: 我想以json格式向php发送一些数据,并在php中进行一些操作。我的问题是我无法通过Ajax将json数据发送到我的php文件。请帮助我该怎么做。我已经尝试过这种方式.. 在PHP中,我使用: 在php文件中添加print_r($ _ POST)时,它在firebug中显示array(0){}。 问题答案: 输了。您没有将JSON发送到服务器,而是发送了普通的POST查询(恰好包含J

  • 问题内容: 为什么在下面的代码中将数据发送为JSON格式而不是? 问题答案: 因为您既未指定请求内容类型,也未指定正确的JSON请求。这是发送JSON请求的正确方法: 注意事项: 使用此方法将javascript对象转换为本地和内置于现代浏览器中的JSON字符串。如果要支持较旧的浏览器,则可能需要包含json2.js 使用属性指定请求内容类型,以便向服务器指示发送JSON请求的意图 该属性用于服务

  • 问题内容: 我是Struts 2的新手。我想使用jQuery AJAX请求将javascript数组发送到Struts动作类。 警报运行正常,但没有运行。 当我把 在方法,输出 语言:。 这是我的动作课 问题答案: 当使用进行ajax请求时,jQuery 内部使用参数序列化发送的数据。 数据应设置为整数数组或带有逗号分隔的整数列表的字符串,因此jQuery可以在发送请求之前正确序列化它。 您只能通

  • 问题内容: 我想使用jQuery将JavaScript数组发送到servlet 。 当我使用 它返回空值。 如何访问这些值? 问题答案: 将数组作为JS对象的值发送,因此最终得到。 在servlet中,您需要在请求参数名称后加上。 jQuery附加了它们以便对弱类型语言(如PHP)友好。