jQuery AJAX参数未传递给MVC

时间:2009-09-12 10:40:41

标签: jquery asp.net-mvc ajax

我有点陷入可能是常见的情况,但在解决方案方面找不到多少。

我将一个int参数传递给MVC控制器方法,期待Json响应。问题是,在客户端填充时,参数在服务器端无法识别,并被解释为null。

以下是代码:

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)但是再次,这似乎没有帮助。问题出在翻译的某个地方。想法?

1 个答案:

答案 0 :(得分:13)

data需要是Javascript对象文字:

$.ajax({
    type: "GET",
    data: {ProjectID: p},
    url: "/Home/Batches",
    success: function(msg) {
        populateBatches(msg);
    }
});