我尝试根据用户在下拉菜单中选择的内容来获取数据。我能够捕获所选的值,但是当我将它传递给MVC 5中的控制器时,数据为空。有什么想法吗?
的jQuery
LoadData($("#Dropdown").val());
function LoadData(selectedID) {
console.log(selectedID); //displays the right ID that was selected
$.ajax({
url: '@Url.Action("GetData")',
type: "GET",
dataType: "json",
contentType: 'application/json; charset=utf-8',
data: { selectedID: selectedID},
success: function (data) {...}
...
});
};
C#
public ActionResult GetData(string selectedID)
{
// Get data here
return Json(results, JsonRequestBehavior. AllowGet);
}
答案 0 :(得分:0)
我有以下解决方法,因为我不知道为什么它将null值传递给MVC方法,当console.log()值显示非空值时。有用。它不漂亮,但它有效。
我将Ajax调用中的URL替换为:
url: '@Url.Action("GetData")?selectedID=' + selectedID
答案 1 :(得分:0)
我认为你在控制器的返回中做了一个迷雾,你可以尝试返回这样的值:
return Json(new { results = results }, JsonRequestBehavior.AllowGet);
然后在你的jquery成功中你可以访问这样的数据:
success: function (data) {
console.log(data.results)
}