Javascript 在submit上向ajax调用传递表单值

Javascript 在submit上向ajax调用传递表单值,javascript,jquery,Javascript,Jquery,我有一个常见的例子,允许用户提交带有一些值的表单,并需要将这些值传递给我的ajax调用。这种方法是可行的,但是除了使用选择器之外,还有没有更优雅/高效的方法来访问表单值呢 $("#myForm").submit(function(){ myData = {name: $("#name").val(), age: $("#age").val()} $.ajax({ url: "foo.php", data: myData, type: get }); });

我有一个常见的例子,允许用户提交带有一些值的表单,并需要将这些值传递给我的ajax调用。这种方法是可行的,但是除了使用选择器之外,还有没有更优雅/高效的方法来访问表单值呢

$("#myForm").submit(function(){

myData = {name: $("#name").val(), age: $("#age").val()}

  $.ajax({
    url: "foo.php",
    data: myData, 
    type: get
  });
});

<form id="myForm">
Name: <input type="text"  id="name">
Age: <input type="text" id="age">
</form>
$(“#myForm”).submit(函数(){
myData={name:$(“#name”).val(),age:$(“#age”).val()}
$.ajax({
url:“foo.php”,
数据:myData,
类型:get
});
});
姓名:
年龄:

$(this).serialize()
将所有表单对象序列化为一个数组,您可以在服务器端解析该数组,以获得更优雅的解决方案。谢谢,这正是我所希望的。我要试一试。我应该知道的任何gotchas?
serialize
使用name属性生成该数组。因此,为了能够产生相同的结果,您需要向表单元素添加name属性。这是我能想到的唯一一个问题,这是有道理的。这在jQuery验证函数的submitHandler中不起作用的原因是什么?e、 g,submitHandler:function(){var test=$(this).serialize;alert(test);}将显示null。我得到的是,Nevermind必须传递表单,然后引用表单。。例如submitHandler:function(form){var test=$(form).serialize;}