Как отправить данные в мой метод ajax с моего контроллера? - PullRequest
0 голосов
/ 12 января 2020

Я хочу обновить элемент, основываясь на том, что происходит на стороне сервера кода. Например, когда я вызываю свою функцию «Пуск», нажимая кнопку на моей странице, она должна изменить текст внутри элемента на «Загрузка», а затем, как только это будет сделано, она должна изменить текст на «Готово».

У меня есть скрипт на моей странице, который вызывает действие и обновляет текст после успешного выполнения запроса.

<script>
        function StartDownload() {
        $.ajax({
            url: '@Url.Action("Start", "MyPage")', success: function (result) {
                $("#badge").removeClass("badge-danger").addClass("badge-info").html("Downloading");
        }});
    };
</script>

, как вы можете видеть, сейчас он просто выполняет запрос и в случае успеха меняет класс и он изменяет текст на «Загрузка».

Цель состоит в том, чтобы изменить его на «Загрузка», как только он вызывает метод, и затем, когда метод завершится, я хочу изменить текст на «Готово».

И я не уверен, как это сделать, мне нужно кое-как прослушать несколько вызовов в моем методе ajax, но я не знаю, как это сделать.

Что такое правильный способ достижения этого?

Я думал о том, чтобы сделать что-то подобное, но я не уверен, действительно ли это

public ActionResult Start()
{
    //Post data back to the ajax to tell it to change to "Downloading"
    StartDownload();
    //Post data back to the ajax to tell it to change to "Finished"

    return View();
}

1 Ответ

0 голосов
/ 12 января 2020

Это довольно просто на самом деле. Кроме success $. ajax () есть много других "событий", которые вы можете использовать. Например, beforeSend может быть вашим выбором, потому что он выполняется непосредственно перед вызовом ajax. Вы можете найти больше событий здесь: https://api.jquery.com/jquery.ajax/

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