$.ajax()使用serialize()提交form数据
jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化,如:
1 <form action=""> 2 First name: <input type="text" name="FirstName" value="Bill" /><br /> 3 Last name: <input type="text" name="LastName" value="Gates" /><br /> 4 </form>
1 $(document).ready(function(){ 2 console.log($("form").serialize()); // FirstName=Bill&LastName=Gates 3 });
这样,我们就可以把序列化的值传给ajax()作为url的参数,轻松使用ajax()提交form表单了,而不需要一个一个获取表单中的值然后传给ajax(),举例如下:
1 $.ajax({ 2 type: 'post', 3 url: 'your url', 4 data: $("form").serialize(), 5 success: function(data) { 6 // your code 7 } 8 });
使用$.post()、$.get()和$.getJSON()也是一样的:
1 $.post('your url', $("form").serialize(), function(data) { 2 // your code 3 } 4 }); 5 6 $.get('your url', $("form").serialize(), function(data) { 7 // your code 8 } 9 }); 10 11 $.getJSON('your url', $("form").serialize(), function(data) { 12 // your code 13 } 14 });