为什么我们需要 serialize
方法。它附加了表单数据,但 http get
也是如此,那我们为什么需要它呢?
The serialize() method creates a URL encoded text string by serializing form values.
我为什么要使用它。如果我了解它的正确用法,我将学习在我的表单中使用它的更好实践。
最佳答案
发出 AJAX 请求时,可以在 URL 查询字符串中使用序列化值。
取自 W3 Schools 的信息
.serialize() 不是使用 jQuery 获取表单中的所有值然后提交到外部页面,而是自动为您完成。因此,在您的外部页面中,您可以通过 URL 获取您需要的内容并随意操作
例如:
你有一个这样的表格:
<form action="#" id="input_form">
first name: <input type="text" name="first name" /><br />
last name: <input type="text" name="last name" /><br />
email: <input type="text" name="email" /><br />
<input type="submit" value="send" name="submit" />
</form>
您可以像这样使用 AJAX 请求:
$(document).ready(function(){
$("#input_form").submit(function(){
var first name = $('input[name=first name]').val();
var last name = $('input[name=last name]').val();
var email = $('input[name=email]').val();
var querystring = "first name="+first name+"&last name="+last name+"&email="+email;
$.ajax({
url: 'elaboration.php',
type: "POST",
data: querystring,
success: function(data) {
//code to execute
}
});
return false;
});
});
而不是这样做:
var first name = $('input[name=first name]').val();
var last name = $('input[name=last name]').val();
var email = $('input[name=email]').val();
var querystring = "first name="+first name+"&last name="+last name+"&email="+email;
你可以使用 .serialize() 来代替:
var querystring = $(this).serialize();
.serialize()
本质上可以为您节省一些时间和精力来获取表单中的每个值。Sauce
关于jquery - jquery的serialize方法有什么用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23923858/