2011-07-29 44 views
0

我有一个艰难的时间与我comiler传递变量在我的Jquery .post的方法...语法传递变量Jquery.Post()方法

$(function() { 
    $("#DemoGraphSubmit").click(function (e) { 
     e.preventDefault(); 
     var form = $("#DemoGraphID").serialize(); 
     var PopID = <% =PopID %> 
     var options = []; 
     var serializedForm = form.serialize(); 
     $.post("/PatientACO/SearchByDemographic", {PopID,form}, function (data) { 
      options = $.map(data, function (item, i) { 
       return "<option value=" + item.Value + ">" + item.Text + "</option>"; 
      }); 
      $("#PatientListToAdd").html(options.join("")); 
     }); 
    }); 
}); 

的$。员额的第二个参数()方法...它一直告诉我我需要一个“:”...如何设置变量并将它们传递给jquery中的函数?

回答

1

您传递给张贴方法可以是良好形成的JSON对象或查询字符串PARAM如下面的数据

//json 

{ PopID: PopID, form: form } 

//string 

"PopID="+PopID+"&form="+form; 
+0

工作...你不会碰巧知道如何序列化一个窗体并将其发送到一个控制器中的操作方法,该控制器以formCollection作为参数? – SoftwareSavant

+1

您可以让动作接受一个复杂的对象,您可以在js函数中创建它并将其作为数据参数发送。 – ShankarSangoli

+0

其实,你只是创建一个变量附加到你的形式,创建另一个变量,并将其设置为第一个object.serialize()...通过这个帖子,中提琴......我得到JSOn数据回来。现在如何将其发布到我的页面。 – SoftwareSavant

2

您需要将其作为对象或查询字符串发送。

对象:

{ PopID: PopID, form: form } 

查询字符串:

'PopID='+PopID+'&form='+form 
0

想通了。

{PopID:PopID,形式:形式}

编译器停在我扔hatefull种族主义者消息。
谢谢。