/ / jQuery AJAX пост форма с пренасочване на успеха - javascript, jquery, ajax

jQuery AJAX пост форма с пренасочване на успеха - javascript, jquery, ajax

Имам ASP.Net MVC изглед, който представя данните от формуляра за действие на контролера. Опитвам се да използвам jQuery за публикуване на формуляра чрез AJAX обаждане, както е така:

$("#submit").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/controller/action",
data: $("#form").serialize()
});
});

Това работи чудесно, данните за формуляра се публикуват вконтролер точно както искам. Проблемът е, че действието на контролера връща пренасочване и след подаване на формуляра, браузърът не пренасочва към местоположението към URL адреса, посочен в отговора за пренасочване. С помощта на Fiddler мога да видя, че администраторът действително връща пренасочването и че е подадена заявка за местоположението, посочено от пренасочването, но браузърът никога не се пренасочва, страницата на формуляра все още се показва след пускането на ръководителя на кликванията.

Опитах се да добавим помощник за успех в $.ajax повикване, което определя window.location, Това обаче изглежда по-малко от идеалнопо няколко причини. Първо, тъй като не знам как да получа местоположението за пренасочване в услугата за обработка на успех, трябва да кодирам твърдо мястото. Второ, пренасочването в оператора за успех води до две искания към местоположението за пренасочване. "Чудя се дали има по-добър начин да се получи $.ajax обадете се за чест на пренасочването, върнато от сървъра.

Отговори:

0 за отговор № 1

Искането за AJAX получава пренасочването.

Възможно е вашата заявка AJAX да върне URL адреса за пренасочване (и да не изпрати 300 Location), след което пренасочвате към този URL адрес в джоба за успех на AJAX.