JQuery - 将表单数据发布到API

时间:2016-05-20 18:06:40

标签: jquery ajax

我在HTML中有一个基本形式,如下所示:

<form id="myForm">
   <input type="text" id="name" name="name" />
   <br />
   <input type="text" id="email" name="email" />

  <input type="button" id="myButton" onclick="sendIt();">Send It</input>
</form>

<script type="text/javascript">
  function sendIt() {
    var endpoint = '/send-it';

    var xhr = new XMLHttpRequest();
    xhr.open('POST', endpoint, true);
    xhr.send();  
  }
</script>

实际上,我的形式更大,并且有更多的领域。我试图弄清楚如何通过AJAX发布这个。以前,我使用方法=&#34; POST&#34;并在表格上采取行动。但是,我试图删除页面刷新。所以,我想通过JQuery来利用AJAX。

是否有一些简单的方法来序列化数据并发送它?我看到了以下内容:

var data = $.param('#myForm');

但是,这似乎只与追加查询字符串有关。如何使用jQuery通过AJAX将myForm发布到我的服务?

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信你想要这样的东西

$.ajax({
    type: "POST",
    url: url,
    data: data,
    success: function () {},
    dataType: dataType
});

请参阅jQuery.post

要序列化,您可以使用:

$('form').serializeArray()

请参阅serializeArray

然后你的代码:

function sendIt() {
    var endpoint = '/send-it'; 

    $.ajax({ 
        type: "POST",
        url: endpoint,
        data: $('#myForm').serializeArray(),
        success: function () {
            alert('success post');
        }
    });
}