2011-01-13 11 views
0

Die 'Select' Aktion wird von XmlHttpRequest aufgerufen. Warum Browser nicht die Umleitung macht, obwohl Fiddler das Gegenteil zeigt

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

Die 'Select' Aktion macht umleiten

[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(); 
    } 

In Fiddler sehe ich, dass Umleitungsanforderung gesendet wird, ABER, der Browser nicht machen die Umleitung. Es bleibt auf der vorherigen Seite.

Hier ist der RAW der Anfrage 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 

Wo ist das Problem?

+3

Sie verwenden XMLHTTPRequest und erwarten, dass der Browser die URL der Seite ändert, auf der Sie sich befinden? So geht es nicht. –

Antwort

0

Ich schlage Ihnen follow this example auf einer ähnlichen Stackoverflow Frage.

Es zeigt Ihnen, wie $.ajax in Redirectsituation zu verwenden. Beachten Sie, dass es für Sie besser ist, zu verwenden, anstatt den Speicherort direkt festzulegen.

Verwandte Themen