未将jQuery AJAX参数传递给MVC
问题描述:
我有点卡住了可能是常见的情况,但找不到很多解决方案。未将jQuery AJAX参数传递给MVC
我传递单个int参数到MVC控制器的方法,期望的JSON响应回来。问题是,该参数在客户端被填充时,在服务器端没有被识别并被解释为空。
下面的代码:
function getBatches(p) {
$.ajax({
type: "GET",
data: "{'ProjectID': " + p + "}",
url: "/Home/Batches",
success: function(msg) {
populateBatches(msg);
}
});
}
p的值是一个整数。在服务器端,代码如下所示:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Batches(int ProjectID)
{
return Json(TimeHelper.GetBatchesForProject(ProjectID));
}
我试着稍微改变它,这样服务器端int参数为空(即int? ProjectID
),但同样,这似乎并没有帮助。问题出在翻译的某个地方。想法?
答
data
需求是一个Javascript对象字面:
$.ajax({
type: "GET",
data: {ProjectID: p},
url: "/Home/Batches",
success: function(msg) {
populateBatches(msg);
}
});
棒极了!把它在一个。干得好,那个男人! – 2009-09-12 10:47:51
没有为我工作。这只适用于整数吗? – micahhoover 2012-08-23 12:36:26