возвращение данных асинхронно после jQuery $ .AJAX почтовый запрос в asp.net MVC - PullRequest
0 голосов
/ 28 ноября 2011

После запроса $ .ajax post к действию контроллеров я хотел бы получить информацию с сервера и затем обновить свое частичное представление, например, у меня есть список, отображаемый в моем представлении, я удаляю элемент из списка, используя $. ajax post request, а затем я бы хотел, чтобы мой список обновлялся сам по себе.

Вот моя функция, которая удаляет элемент из списка:

 $(".btnDeleteCurrentFavSong").click(function () {

    var songId = $(this).attr('name');

    $.ajax({
        type: 'POST',
        url: "/Home/DeleteCurrentFav/",
        data: { id: songId },
        success: ShowMsg("Song deleted successfully"),
        error: ShowMsg("There was an error therefore song could not be deleted, please try again"),
        dataType: "json"
    });
});

Должен ли я каким-то образом перенаправить действие на ajax success, которое возвращает список песен на просмотр?

Ответы [ 3 ]

1 голос
/ 28 ноября 2011

, если выбранный вами элемент списка выглядел так:

<li name="120">Artist - Title</li>

Ваш javascript может выглядеть примерно так:

$(".btnDeleteCurrentFavSong").click(function () {

    var songId = $(this).attr('name');

    $.ajax({
        type: 'POST',
        url: "/Home/DeleteCurrentFav/",
        data: { id: songId },
        success: function () {
            ShowMsg("Song deleted successfully");
            $("li[name=" + songId + "]").remove();
        },
        error: ShowMsg("There was an error therefore song could not be deleted, please try again"),
        dataType: "json"
    });
});
0 голосов
/ 28 ноября 2011

вариант A

  • вернуть идентификатор удаленного элемента из действия
  • в случае успеха удалить удаленный элемент с помощью js

вариант B

  • возврат частичного вида из действия
  • в случае успеха замените контейнер отображаемым html
0 голосов
/ 28 ноября 2011

Это зависит от опыта пользователя, который вы хотите дать. Конвенция диктует, что пользователю должен быть показан эффект их действия. Из вашего примера видно, что вы делаете это с помощью функции ShowMsg. Что касается того, следует ли вам перенаправлять или нет, я боюсь, что там нет ничего авторского, делайте то, что соответствует всему вашему сайту и будет естественным для пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...