使用ajax提交时发送请求和参数

时间:2011-09-06 03:53:17

标签: javascript jquery

我想使用jquery .post()提交表单。我想发送除了另一个参数之外的所有输入名称,有什么方法可以发送数据和请求吗?

 $.post("RegistrarManagementServlet",{"option":"cancelRequest"},function(){
                alert("hi");
            });

这是我们提交请求的方式

  $.post("RegistrarManagementServlet",request,function(){
                alert("hi");
            });

我想发送表单中的所有数据(在正常的帖子请求中)以及选项参数,我该如何制作?

修改

我应该在哪里将请求定义为函数参数,因为代码出现在确认对话框出现后

$('#cancelRequest').click(function(event){
    event.preventDefault();
    jConfirm('Are you sure to delete registrar request?', 'Confirmation Dialog', function(result) {

        if(result == true){
            request.cancelRequest="cancelRequest";   //request is not defiend
            $.post("RegistrarManagementServlet",request,function(){
                alert("hi");
            });
          }

    });

3 个答案:

答案 0 :(得分:2)

request.option = "cancelRequest";

$.post("RegistrarManagementServlet", request, function(){
  alert("hi");
});

答案 1 :(得分:1)

您可以使用以下代码

进行名称值对
 var elem = document.getElementById('frmName').elements;
 for(var i = 0; i < elem.length; i++)
   {
      //Make the pairs like 
        //{"option":"cancelRequest"}
      //elem[i].name will give you the name and
      //elem[i].value will give you the value of the field           
   }

然后按照您的方式发布您的请求。

或者你可以看到这个例子 http://www.codeunit.co.za/2009/11/04/jquery-iterate-through-a-forms-elements/ 为Jquery做同样的方法

答案 2 :(得分:0)

您可以使用jQuery的$.extend()$.post('url', $.extend(request, {more: 'parameters'}), function...