2011-01-13 8 views
0

「選択」アクションはXmlHttpRequestによって呼び出されます。Fiddlerが反対を示してもブラウザがリダイレクトしない理由

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

をリダイレクトします私は、ブラウザがリダイレクトをしない、、リダイレクト要求が送信されることがわかりBUT。それは前のページにとどまります。

ここには、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を使用していますが、ブラウザがあなたのページのURLを変更することを期待していますか?それはどのように動作するのではありません。 –

答えて

0

同様のStackoverflow質問でfollow this exampleをお勧めします。

リダイレクトの状況で$.ajaxを使用する方法を示します。実際に場所を設定する代わりにwindow.location.replace()を使用する方が良いことを念頭に置いてください。

関連する問題