jQuery AJAX参数未传递给MVC
我有点陷入可能是常见的情况,但在解决方案方面找不到多少。
我将一个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
),但同样,这似乎没有帮助。 问题出在翻译的某个地方。 想法?
data
需要是Javascript对象文字:
$.ajax({ type: "GET", data: {ProjectID: p}, url: "/Home/Batches", success: function(msg) { populateBatches(msg); } });