2011-01-13 1 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(); 
    } 

이 피들러에서 나는 그 리디렉션 요청이 브라우저는 리디렉션을하지 않습니다, 를 전송하지만 것을 볼 리디렉션합니다. 이전 페이지에 남아 있습니다.

다음은 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()을 사용하는 것이 더 바람직하다는 사실을 염두에 두십시오.

관련 문제