Отправка ajax-запроса от клиента на сервер.Часть задержки не относится к серверу и является требованием клиента (если вы не создаете некоторые push-уведомления).
Это веб-приложение, и оно означает, что клиент должен отправить запрос, чтобы получить ответ.Поэтому отправьте запрос на /controller/index
и верните представление, показывающее результат от action1
до RenderAction
.Затем на стороне клиента через 3 секунды отправьте запрос ajax на /controller/action2
, получите ответ и покажите его в каком-то элементе на странице:
HomeController
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult Action1()
{
return Content("Action 1 result.");
}
[HttpGet]
public ActionResult Action2()
{
return Content("Action 2 result.");
}
}
Индекс
<div id="action1">
@{Html.RenderAction("action1");}
</div>
<div id="action2">Wait for 3 seconds ...</div>
@section scripts {
<script>
$(() => {
setTimeout(() => {
$.ajax({
url: '/home/action2',
type: 'GET',
success: (data) => { $('#action2').html(data); },
error: () => { alert('Error'); }
});
}, 3000);
});
</script>
}