序列化没有表单的值

时间:2012-05-02 21:55:44

标签: javascript jquery

我正在为ajax调用构建数据。我正在使用jquery。

我的功能(简化)如下。 我想在vname和vemail上使用jquery serialize(),但看起来你只能在表单变量上执行此操作。有没有办法用普通的vars做到这一点,还是我需要做一些其他事情来使这些变量对于ajax调用安全?

由于

function sendEmailNotify(vname, vemail, docID){
       $.ajax({
           type: "POST",
           url: "/servlet/trainingServlet",
           data: ({method: 'ajaxEmailNotify',vname: vname , vemail: vemail }),
           dataType: 'json',
           success: function(data){
               if ( data.success != "OK" ){
                   alert(data.message);
               }
           }
       });

   }

1 个答案:

答案 0 :(得分:4)

可以在包含一个或多个表单的jQuery对象上调用jQuery .serialize()函数,或者包含一组特定表单输入元素的jQuery对象,并返回一个带有所有表单的URL参数字符串这些价值观。

如果代码中的vnamevemail引用了输入元素,那么您可以创建一个包含这些元素的jQuery对象,然后调用.serialize()。但是,如果它们只是值,那么您不需要对它们做任何其他事情。

作为一个半相关的注释,你不需要围绕你传递给data属性的对象的括号 - 我不知道这是否会导致问题,但是因为它们没有用处在那里你也可以删除它们。