#ajax #jquery
#ajax #jquery
Вопрос:
поскольку я новичок в jquery, не могли бы вы рассказать мне, как перенаправить страницу на другой метод действия? Я разрабатываю веб-приложение MVC. Я использую метод jquery post для выполнения некоторой проверки, и когда он вернет true, это будет перенаправление страницы на другую. Моя проблема в том .. когда, когда я перенаправляю страницу с помощью window.расположение, это хорошо работает в IE (IE 9). но не сработало в Firefox и Chrome. Итак, я пытаюсь использовать метод jquery post для перенаправления страницы из метода action в моем контроллере. Я вызываю метод перенаправления post при обратном вызове jquery post. это мой код :
$.post(posturl, formData, function (result) {
if (result == 'True') {
$.post("/Controller/RedirectMethod", {_Action: 'Index', _Controller: 'Home'}, null);
}
else
alert('failed');
}
);
и это мой метод перенаправления :
[HttpPost]
public ActionResult RedirectMethod(string _Action, string _Controller)
{
return RedirectToAction(_Action, _Controller);
}
итак, как я должен создать вложенную запись в другом обратном вызове post?
или есть другой способ перенаправить страницу?
Спасибо,
Комментарии:
1.
window.location
должно сработать; что вы делали?2. хм … спасибо Альперт, я пытаюсь использовать location.href , и это работает в обоих, mozilla и chrome. но я не знаю, почему window. местоположение у меня не сработало.
Ответ №1:
Вы не сможете выполнить RedirectToAction внутри Ajax-запроса.
Если вам нужно, чтобы веб-страница переместилась в другое местоположение внутри ответа Ajax, используйте window .расположение, как предложил Бен.
Следует иметь в виду одну вещь: вам нужно удалить фильтр действий ‘HttpPost’.
Комментарии:
1. «Следует иметь в виду одну вещь: вам нужно удалить фильтр действий «HttpPost»». <- можете ли вы рассказать мне подробнее об этом? Спасибо