여기에서 내가 뭘 잘못하고 있는지 정말로 모르겠습니다. 나는이 같은 이동 (jQuery로) 일부 자바 스크립트 가지고 :동기식 아약스 호출을 시작하기 전에 javascript 코드가 실행되도록하는 방법이 있습니까
function myFunc(){
$('.wait').addClass('waiting');
console.log('wait');
var r = $.ajax({type: "GET", url: "my_URL", async: false}).responseText;
$('.wait').removeClass('waiting');
console.log('stop wait');
return r;
}
내 문제는 클래스가이 호출을 수행하는 ... 내가 무엇을 의미하는 동안 추가되지 않습니다 "대기"되었는지를 그 내 함수를 호출 할 때, 나는 처음에 나타나기로되어있는 div를 얻은 후에 제거하지만 나타나지는 않습니다. 모든 것이 그에 따라 진행되는 것처럼 보입니다. 나는 아약스 응답있어 최대 하지만 후에 만
$('.wait').removeClass('waiting');
내 사업부 쇼하지 않고 그것을 실행하려고 할 때 나는 시간에 요청을 시도하고 걸릴 ... 내 아약스 호출의 결과를 얻었다 대략 2 초 ... 그래서 나는 이것이 왜 일어나고 있는지 정말로 모른다.
동기식 ajax 호출과 관련 될 수 있습니까? JavaScript는 절차 언어이므로, 클래스 추가는 콘솔에 로그인하기 전에 Ajax 호출을 시작하기 전에 수행해야한다고 생각했지만 응답을 받으면 모든 수정을했습니다 (JavaScript 콘솔에서도 모든 것이 추가됩니다). 아약스 호출 후).
도움이 정말 좋을 것입니다!
왜 비동기 호출이 아닌지? –
동기식 전화를 걸기 때문에 눈에 보이는 변화가 보이지 않습니다. 브라우저에 리플 로우 할 기회를주지 마십시오. –
나는 그것이 검증 방법이기 때문에 나는 sync를 사용한다, 나는 그들이 뭔가를 덮어 쓰게하고 싶지 않은 수정을 할 때 파일을 편집하는 여러 사용자를 얻었다. 그래서 나는 누군가가 내면에 무언가를 수정하지 않았는지 확인하기 위해 페이지를 동결 시켰습니다. ... – Incognito