2011-01-13 51 views
0

'選擇'操作由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(); 
    } 

在菲德勒我看到重定向請求被髮送,但瀏覽器不會使重定向。它停留在前一頁上。

這是REDIRECT請求的RAW。

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 

問題在哪裏?

+3

您正在使用XMLHTTPRequest並希望瀏覽器更改您所在頁面的網址?這不是它的工作原理。 – 2011-01-13 16:56:49

回答

0

我建議你follow this example對一個類似的Stackoverflow問題。

它向您顯示如何在重定向的情況下使用$.ajax。注意事實是,使用window.location.replace()代替直接設置位置更好。

相關問題