Query的serialize()方法通过序列化表单值,创建URL编码文本字符串,处理中文不会乱码,就可以选择一个或多个表单元素,也可以直接选择form将其序列化,如:
<form action=""> First name: <input name="fname" value="hou" /> <br /> Last name: <input name="lname" value="terry" /> <br /> </form> $(document).ready(function(){ console.log($("form").serialize()); // FirstName=hou&LastName=terry});
这样,就可以把序列化的值传给ajax()作为url的参数,使用ajax()提交form表单了,而不需要一个一个获取表单中的值然后传给ajax()
$.ajax({ type: 'post', url: 'user/useradd.php', data: $("form").serialize(), success: function(data) { if (data.msg == "success") { alert("ok"); } else { alert("??") } }, error: function() { alert("???") } });
使用$.post()、$.get()和$.getJSON()也一样的
$.post('your url', $("form").serialize(), function(data) { // your code } }); $.get('your url', $("form").serialize(), function(data) { // your code } }); $.getJSON('your url', $("form").serialize(), function(data) { // your code } });
推荐用$.ajax({}),因为这样可以自定义是否异步提交