1

可能重复:
通过jquery一起提交表单和变量

我正在使用以下代码通过 ajax、jquery 将表单数据发送到服务器:

// this is the id of the submit button
$("#submitButtonId").click(function() {

    var url = "path/to/your/script.php"; // the script where you handle the form input.

    $.ajax({
           type: "POST",
           url: url,
           data: $("#idForm").serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response from the php script.
           }
         });

    return false; // avoid to execute the actual submit of the form.
});

如果我必须发送我自己的参数/值而不是发布表单数据,我该怎么做?谢谢。

4

3 回答 3

3

您可以简单地将表单数据与您自己的数据分开:

data : { 
  myData : 'foo',
  formData : $("#idForm").serialize()
}
于 2012-11-20T08:18:06.037 回答
1

有几种方法可以做到。

您可以使用您需要发送的名称和值向表单添加一个隐藏字段。然后,当表单被序列化时,该字段也将被序列化。

另一种方法是在序列化表单数据的末尾添加您的内容

$("#idForm").serialize() + "&foo=bar"
于 2012-11-20T08:18:51.213 回答
0

您可以通过附加附加字符串来序列化表单数据来做到这一点。像

$("#submitButtonId").click(function() {

var url = "path/to/your/script.php"; // the script where you handle the form input.
var data = $("#idForm").serialize() + "&mystring=" + someId
$.ajax({
       type: "POST",
       url: url,
       data: data, // serializes the form's elements.
       success: function(data)
       {
           alert(data); // show response from the php script.
       }
     });

return false; // avoid to execute the actual submit of the form.

});

于 2012-11-20T08:19:31.510 回答