반응형
jQuery: 동기 AJAX 요청 수행 중
예전에 jQuery를 몇 번 해봤는데, 완전히 빠져버렸어.동기식 AJAX 콜의 장단점은 알고 있습니다만, 여기에서는 필수입니다.
리모트 페이지는 로드(fire bug로 제어)되지만 반환은 표시되지 않습니다.
기능을 제대로 되돌리려면 어떻게 해야 하나요?
function getRemote() {
var remote;
$.ajax({
type: "GET",
url: remote_url,
async: false,
success : function(data) {
remote = data;
}
});
return remote;
}
동기 요청을 할 때, 그 요청은
function getRemote() {
return $.ajax({
type: "GET",
url: remote_url,
async: false
}).responseText;
}
예: http://api.jquery.com/jQuery.ajax/ #syslog-3
주의: 비동기 속성을 false로 설정하는 것은 권장되지 않으며 삭제 중입니다(링크).Firefox 및 Chrome을 포함한 대부분의 브라우저는 다음과 같은 경우 콘솔에서 경고 인쇄를 이미 시작했습니다.
크롬:
메인 스레드의 동기 XMLHttpRequest는 최종 사용자의 경험에 악영향을 미치기 때문에 권장되지 않습니다.상세한 것에 대하여는, https://xhr.spec.whatwg.org/ 를 참조해 주세요.
파이어폭스:
메인 스레드의 동기 XMLHttpRequest는 최종 사용자의 경험에 악영향을 미치기 때문에 권장되지 않습니다.자세한 내용은 http://xhr.spec.whatwg.org/ 를 참조해 주세요.
아약스 함수를 잘못 사용하고 있습니다.동기이므로 다음과 같이 데이터가 인라인으로 반환됩니다.
var remote = $.ajax({
type: "GET",
url: remote_url,
async: false
}).responseText;
그 url은 얼마나 리모트인가? 같은 도메인에서 온 것인가? 코드는 괜찮아 보인다.
이거 먹어봐
$.ajaxSetup({async:false});
$.get(remote_url, function(data) { remote = data; });
// or
remote = $.get(remote_url).responseText;
function getRemote() {
return $.ajax({
type: "GET",
url: remote_url,
async: false,
success: function (result) {
/* if result is a JSon object */
if (result.valid)
return true;
else
return false;
}
});
}
언급URL : https://stackoverflow.com/questions/6685249/jquery-performing-synchronous-ajax-requests
반응형
'programing' 카테고리의 다른 글
PHP로 WordPress 플러그인에서 텍스트 파일로 쓰기 (0) | 2023.02.26 |
---|---|
키보드 회피 Scroll View를 사용한 표시 회피 (0) | 2023.02.26 |
WordPress에서 게시 날짜를 얻으려면 어떻게 해야 합니까? (0) | 2023.02.26 |
JSON 문자열을 C# 객체로 변환 (0) | 2023.02.26 |
Oracle jdbc 드라이버 클래스의 차이점 (0) | 2023.02.26 |