2009-07-31 5 views
0

Ajax를 사용하는 사용자 컨트롤이있는 페이지가 있습니다. 이 페이지에서 response.redirect를 수행하려고하면 Ajax가 호출을 트랩하고 리디렉션을 허용하지 않습니다.Response.redirect가 Ajax 컨트롤과 함께 작동하지 않습니다.

Ajax 페이지에서 response.redirect를 어떻게 수행 할 수 있습니까?

감사합니다 ...

는 AJAX 작업을 할 동안 당신은 사용자 컨트롤에이 얼마나 제어
+3

중복에 http이 추가 : // 유래

jQuery를 통해이 같이 보일 것이다 .com/questions/1215177 /. –

답변

0

? 클라이언트 측을 수정할 수 있다면 가장 쉬운 방법은 JSON 객체를 반환하여 리디렉션 할 URL을 데이터로 구문 분석하고 보낼 수 있습니다. 클라이언트에서 데이터를 얻었 으면 window.location.href를 url로 설정하기 만하면됩니다.

$.ajax({ 
    url: '/some/url', 
    dataType: 'json', 
    type: 'post', 
    data: $('form').serialize(), 
    success: function(data) { 
     if (data.Redirect) { 
      window.location.href = data.Redirect; 
     } 
     else { 
     ...handle other responses... 
     } 
    } 
    ... more options... 
}); 
+0

내 모든 코드는 C#, ASP.NET 2.0에 있습니다. 나는 JSON에 익숙하지 않다. –

+0

JavaScriptSerializer를 사용하여 JSON을 만드는 방법에 대한이 블로그 기사를 확인하십시오. http://blogs.msdn.com/rakkimk/archive/2009/01/30/asp-net-json-serialization-and-deserialization.aspx. 직렬화 된 버전에서 되돌려 보내야하는 객체를 정의한 다음 Response.Write를 사용해야합니다. – tvanfosson

0

내가 다른 질문에 명시된 바와 같이 :

당신의 Web.config에

<httpModules> 
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
</httpModules> 
+0

코드가 이미 내 Web.config에 있습니다. –

관련 문제