繁体   English   中英

使用jQuery Ajax将数据发布到JSON数组中?

[英]POST data into JSON array with jquery ajax?

我什至不知道我的Ajax中的错误代码在哪里,我从互联网上学习,但仍然无法发布数据。 我的html代码:

<h3>Input new data</h3>
<form name="contact">
    <input type="text" placeholder="id berita" id="idberita" />
    <input type="text" placeholder="title berita" id="titleberita" />
    <input type="text" placeholder="content berita" id="contentberita" />
    <input id="create_at" type="datetime-local">
    <button type="submit" id="add-data">add</button>
</form>

这是我的ajax代码:

$('#add-data').on('click', function() {
    var order = {
        id        : $idberita.val(),
        title     : $titleberita.val(),
        content   : $contentberita.val(),
        create_at : $create_at.val()
    };
    $.ajax({
        type   : 'POST',
        url    : 'json/student.json',
        data   : order,
        success: function(newContent) {
            $orders.append('<li>dataid: '+newData.id+', title:'+newData.title+', content:'+newData.content+', create_at: '+newData.create_at+'</li>');
        },
        error: function() {
            alert('error saving data');
        }
    });
});

默认情况下,提交表单会刷新页面。 jQuery的事件对象始终作为事件处理程序的第一个参数传递,因此请使用它来防止此行为:

       $('#add-data').on('click', function(event) {
             event.preventDefault();

              var order = {
                id: $('#idberita').val(),
                title: $('#titleberita').val(),
                content: $('#contentberita').val(),
                create_at: $('#create_at').val(),
            };


            $.ajax({
                type: 'POST',
                url: 'json/student.json',
                data: order,
                success: function(newContent) {     
                    $orders.append('<li>dataid: '+newContent.id+', title:'+newContent.title+', content:'+newData.content+', create_at: '+newData.create_at+'</li>');
                },
                error: function(){
                    alert('error saving data');
                }
            });

        });

使用.serialize()它将把表单中的所有数据输入元素收集到一组数组中,您不需要一个个地定义

$.ajax({
  type: "POST",
  data: $("#formid").serialize(),
  url : "your/post/url",
  success: function(callback){
     // success handler
  },
  error: function(){
    // error handler
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM