【发布时间】:2015-10-13 15:05:04
【问题描述】:
我是 MVC 的新手,我有一个关于 MVC / AJAX 调用的问题。
我正在尝试从 MVC 控制器取回数据,但它一直说传入参数为 NULL。
我的 Javascript 调用如下,我硬编码 id:1245 作为测试。
$.ajax({
type: "GET",
url: 'MDT/Detail',
data: JSON.stringify({ id: 1245 }),
contentType: "application/json",
dataType: "JSON",
success: function (data) {
console.log(data);
},
fail: function (data) {
}
});
以下是Controller中的代码..
[Route("MDT/Detail/{id}")]
public JsonResult Detail(int? id)
{
ITS.Models.ComputerDetail cp = GetDataFromDatabase(id.Value);
return Json(cp, JsonRequestBehavior.AllowGet);
}
我已经在Firebug中签入并且参数正确传递如下:
但它给了我“id”参数的以下错误
Exception Details: System.InvalidOperationException: Nullable object must have a value.
我无法弄清楚我做错了什么。你能帮我解决这个错误吗?
如果我使用此 URL (http://localhost:6481/MDT/Detail?id=1245),它会返回 JSON 数据。但如果我使用 (http://localhost:6481/MDT/Detail/1245),它会显示与 JQuery AJAX 调用相同的错误。那么,一定是路由问题?
【问题讨论】:
标签: jquery ajax asp.net-mvc url-routing