페이지 열기시 일부 로딩 시간을 얻기 위해 일부 아약스 호출을 삽입하려고하는 asp.net 웹 사이트가 있습니다.C# 및 JQuery, 포스트 백에서 이상한 동작
시나리오 : A.aspx 페이지에서 저는 jQuery $ (document) .ready() 이벤트를 사용하여 ajax() 메서드를 통해 ajax 호출을 트리거합니다. ajax 호출은 B.aspx 페이지를 대상으로 (동일한 사이트에서) HTML의 일부를 렌더링하여 결국 A.aspx의 기존 마크 업에 삽입합니다.
그 후 ajax 호출은 더 이상 __dopostback 이벤트를 발생시킬 수 없습니다. 사실 A.pasx 페이지의 기존 컨트롤을 클릭하면 페이지 다시 게시를 수행해야합니다. B.aspx 페이지가 대신 열립니다.
B.aspx를 다른 응용 프로그램 풀에서 실행되는 다른 사이트로 이동하려고 시도했지만 A.aspx의 __dopostback 호출이 여전히 B.aspx를 열려고합니다.
$(document).ready(function() { $.ajax({ type: "GET", url: "./B.aspx", data:"username=xxx", dataType: "text", error: function(XMLHttpRequest, textStatus, errorThrown){ $('#agentResultErrorContainer').html('Error... ' + errorThrown); }, success: function(data){ $('#agentsResultContainer').html(data); } }); ... ... ... }
기타 자세한 사항 :
여기에 전화입니다 사이트 B.aspx 무엇을 렌더링 않는 .NET 2.0 플랫폼
나는 Kobi에 동의하며, 이중 컨트롤 때문에 포스트 백 오류가 발생했습니다. 나는 Kobi가 서버 측 마크 업없이 제안한대로 .ashx를 만드는 것을 고려할 것이다. 이렇게하면 문제가 해결됩니다. Kobi는 AJAX 호출에 대해 유효한 점을 제기했습니다. 먼저 Jquery가 호출 (DOM이 완전히로드되었음을 의미)을로드해야하고 두 번째로 서버에 대한 두 번째 왕복을 기다려야합니다. 그 페이지. – dooburt