Ajax GET发送空数据

时间:2018-04-24 18:51:13

标签: jquery ajax asp.net-mvc

我尝试根据用户在下拉菜单中选择的内容来获取数据。我能够捕获所选的值,但是当我将它传递给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);
} 

2 个答案:

答案 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)
}