Почему браузер не выполняет перенаправление, хотя Fiddler показывает противоположное - PullRequest
0 голосов
/ 13 января 2011

Действие «Выбрать» вызывается XmlHttpRequest.

$.ajax(
            {
                async: false,
                url: 'Project/Select/1'                    
            });

Действие «Выбрать» делает перенаправление

[HttpPost]
    public ActionResult Select(core_User user)
    {
        int id = 0;
        if (int.TryParse(this.RouteData.Values["id"].ToString(), out id))
        {
            Project.Load(id);
            return Redirect("~/general-settings"));
        }
        return new EmptyResult();
    }

В Fiddler я вижу, что запрос на перенаправление отправлен, НО, браузер НЕ выполняет перенаправление Он остается на предыдущей странице.

Вот RAW запроса REDIRECT.

GET http://localhost:26838/general-settings HTTP/1.1
Host: localhost:26838
Connection: keep-alive
Referer: http://localhost:26838/project-manager
X-Requested-With: XMLHttpRequest
Accept: application/json, text/javascript, */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) 
Chrome/8.0.552.237 Safari/534.10
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: ASP.NET_SessionId=t2242xxnk4bf0qk0gkvyrji2

Где проблема?

1 Ответ

0 голосов
/ 23 января 2011

Я предлагаю вам следовать этому примеру по аналогичному вопросу Stackoverflow.

Показывает, как использовать $.ajax в ситуации перенаправления. Помните о том, что для вас лучше использовать window.location.replace() вместо непосредственного указания местоположения.

...