Частичное представление Rendar в другом частичном представлении вместе с моделью данных с использованием функции jQuery .Ajax

Я работаю над приложением MVC 5 и хочу визуализировать частичное представление в другом частичном представлении с данными модели с использованием функции jQuery ajax. когда вызывается функция javaScript, она предполагает отправку идентификатора выбранного элемента обратно в контроллер, который работает нормально, и в свою очередь возвращает частичное представление вместе с моделью, которая не работает из следующего кода

<td>
   <a href="#" class="SearchUser_Icon Hyperlink_Text" onclick="load_getUserListByGroupID(this)" id=@item.GroupID></a>
</td>

,

Функция JavaScript

function load_getUserListByGroupID(element)
{
    var selectedGroupID = element.id;

    alert(selectedGroupID);

    $.ajax({
        type: "POST",
        url: "/UserManagement/SearchUsersByGroupID/",
        dataType: "json",
        data: { 'GroupID': selectedGroupID },
        success: function (viewHTML) {
            alert("success");
            $("#userContentBlock").html(viewHTML);
        },
        error: function (errorData) { onError(errorData); }
    }).done(function (result) {
        alert("done!");
    });
}

,

<div id="userContentBlock"></div>

Метод Контроллера

[HttpPost]
    public ActionResult SearchUsersByGroupID(string GroupID)
    {

        int intID = Convert.ToInt32(GroupID);

        var UsersListByGroupID = _userServices.GetUsersByGroupID(intID);

        return PartialView("GetUsersListByGroup_Partial", UsersListByGroupID );
    }

1 ответ

Решение

Вы возвращаете HTML, ожидая JSON в вызове ajax. Просто удалите dataType: "json" из настроек и все должно работать как положено.

jQuery.ajax () dataType:

Тип данных, которые вы ожидаете получить от сервера. Если ничего не указано, jQuery попытается вывести его в зависимости от типа ответа MIME.

Другие вопросы по тегам