jQuery AJAX参数未传递给MVC

Phi*_*ler 3 ajax asp.net-mvc jquery

我有点困在可能是常见的情况,但找不到解决方案的方法.

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

这是代码:

function getBatches(p) {
$.ajax({
    type: "GET",
    data: "{'ProjectID': " + p + "}",
    url: "/Home/Batches",
    success: function(msg) {
        populateBatches(msg);
    }
});
Run Code Online (Sandbox Code Playgroud)

}

p的值是整数.在服务器端,代码如下所示:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Batches(int ProjectID)
{
    return Json(TimeHelper.GetBatchesForProject(ProjectID));
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试稍微改变它,以便服务器端的int参数可以为空(即int? ProjectID)但是再次,这似乎没有帮助.问题出在翻译的某个地方.想法?

Pao*_*ino 13

data 需要是一个Javascript对象文字:

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

  • 不适合我.这只适用于整数? (3认同)