스크립트를 제출하는 데 시간이 오래 걸릴 수있는 양식이 있습니다 (~ 30-60 초,주고 받음). 나는 사용자가 기다리는 동안 결과가 처리 중임을 보여주는 회 전자를 원합니다. 일반적으로 처리 스크립트에 회 전자를 부착하고 처리 할 것이지만 스크립트에 액세스 할 필요는 없습니다. js/jQuery를 사용하여 AJAX 요청을 제출 한 다음 처리가 완료되면 대상 페이지를로드 할 수 있습니까? 이와 같은 것이 내가 원하는 것입니다.문서를 AJAX 결과로 바꿉니다.
<script type="text/javascript">
$(function() {
$("#myForm").submit(function() {
var data = $(this).serialize();
$.post("url/to/script.php", data, function (results) {
// replace this entire document, url included, with the results
});
$("#spinner").hide().ajaxStart(function() {
$(this).show();
}).ajaxStop(function() {
$(this).hide();
});
});
});
</script>
다른 아이디어도 있습니다.
[편집]으로
(희망) 명확히 : 나는 결과가 백그라운드에서로드, 그들이 수행하는 경우에만 그들로 이동합니다. 이 동작 (회 전자 제외)은 최종 사용자가 자바 스크립트를 사용하지 않고 양식을 제출하는 것과 다를 바 없습니다.
[편집 2] 나는 문제는 이제 학술 그래서, 장소에 스피너를 넣어 대상 스크립트의 소유자를 설득 관리
.
"URL 포함"이란 무엇입니까? 아약스를 돌려주는 것은 무엇입니까? 전체 문서를 대체하려면'$ ("body") .html (results); ' – jotapdiez
나는 그것을 시도하고 빈 스크린을 얻는다. 나는 그것이 결과의
에있는 것과 관련이 있다고 생각한다. 결과를 머리와 몸으로 파싱 한 다음 동일한 결과 (빈 화면)로 jQuery를 통해 결과를 할당하려고했습니다. – asgallant무엇이 ajax를 반환합니까? – jotapdiez