Ajax GET отправляет нулевые данные - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь получить данные на основе того, что пользователь выбрал в раскрывающемся меню. Я могу получить выбранное значение, но когда я передаю его контроллеру в 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 голосов
/ 25 апреля 2018

Я думаю, что вы делаете mistkake при возврате вашего контроллера, можете ли вы попытаться вернуть это значение вместо этого:

return Json(new { results = results }, JsonRequestBehavior.AllowGet);

Тогда в вашем успехе в jquery вы можете получить доступ к таким данным:

success: function (data) {
    console.log(data.results)
}
0 голосов
/ 24 апреля 2018

У меня есть следующий обходной путь для этого, так как я не знаю, почему он передает нулевое значение методу MVC, когда это значение console.log () отображает ненулевое значение.Оно работает.Это не красиво, но это работает.

Я заменил URL в вызове Ajax на:

url: '@Url.Action("GetData")?selectedID=' + selectedID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...