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({}),因为这样可以自定义是否异步提交