2010-08-02 2 views
1

함수는 jquery.ajax() 메서드를 사용하여 서버에서 데이터를 가져와 반환 값으로 사용합니다. async = true 인 경우이 함수는 조기에 빈 값을 반환합니다. async = false를 사용하는 경우 함수 대기 시간이 너무 깁니다. 요청하기 바로 전에 회전 시계를 표시하는 div를 토글하려고했지만 div가 요청이 끝날 때까지 표시되지 않습니다.jQuery를 사용하여 동기식 요청을 할 때 브라우저가 잠기지 않게하려면 (또는 대기 기호 표시) 어떻게합니까?

브라우저를 잠그지 않거나 대기 아이콘/기호/텍스트를 표시하지 않는 방법에 대한 조언이 있으십니까?

+2

'async = true'요청의 문제점은 무엇입니까? 코드를 보여 주시겠습니까? –

+0

그것은 1000 줄의 코드입니다 :) Async true가 일찍 반환하고 후속 함수가 빈 객체를 가져옵니다. – selytch

+0

[(동기식) Ajax 중에 브라우저 잠금 중지?] (http://stackoverflow.com/questions/9755485/stop- browser-locking-during-synchronous-ajax) –

답변

2

수 없습니다. 동기 요청은 이동 중이거나 수정 중일 수있는 애니메이션을 포함하여 브라우저를 잠급니다. 이는 그것이 권장되지 않는 이유입니다. 성공한 콜백에서 응답 처리를 처리하기 위해 논리를 수정하면 모두 잘 될 것입니다 ...

+0

jquery에 대한 좋은 자료는 PHP mysql 쿼리의 비동기 응답을 처리합니까? – selytch

+0

@selytch : PHP 나 MySQL에만 국한되지 않습니다. 비동기 호출을 * 항상 * 처리해야하는 방법입니다. 콜백에서 호출을 트리거해야하는 상황이 발생하기를 원합니다. 참조 : http://stackoverflow.com/questions/2851952/jquery-ajax-function-to-call-php-script-which-returns-a-value 또는 http://stackoverflow.com/questions/31129/how- can-i-return-a-get-json-function 또는 http://stackoverflow.com/questions/402503/ajax-return-data-not-working-in-jquery ... – Shog9

1

브라우저를 잠그지 않으려면 비동기 요청을 사용해야합니다. 코드 또는 아약스 응답에 리팩토링이 필요합니다.

하지만 여전히 비동기 요청을 사용하고자하지 않을 경우, 당신은 다음과 같이 수행 할 수 있습니다

  1. 회전 시계를 삽입하고
  2. 준비가되면 (내가 콜백을 의미), 아약스을 보여를 마지막 요청
  3. ,
+0

서버가 JSON 객체로 응답하는데, 내가 틀린 경우이를 수정하고 SYNC가 필요합니다. 또한 객체 배열에 대한 ASYNC 응답을 처리하는 방법을 계획하는 데 어려움이 있습니다 ... $ ('# wait')을 넣으면 show ('fast', function() {$ .ajax ....}) 브라우저 (Chrome)는 요청이 완료 될 때까지 #wait를 표시하는 것을 여전히 거부합니다. – selytch

+0

json을 기본 비동기 모드로 여러 번 사용했습니다. 왜 동기가 필요한지 모르겠습니다. – Keyo

1

편도 (로드 ... GIF 애니메이션) 화상을 넣을 수있는 시계를 제거한다. 아약스를 보내기 전에 보여줘. 그런 다음 그것을 성공에 숨 깁니다. 아래처럼.

$.ajax({ 
    url: 'ajax/test.html', 
    beforeSend : function(){ 
    $('#LodingImg').show(); // show image.. 
    }, 
    success: function(data) { 
    $('#LodingImg').hide(); // hide image 
    $('.result').html(data); 
    alert('Load was performed.'); 
    } 
}); 
+0

작동하지 않습니다. Google 크롬 문제일까요? – selytch

+0

위의 게시물에 코드 예제를 포함시킬 수 있습니까? – Reigel

관련 문제