jquery에서 ajax는 async를 false로 설정하여 기본적으로 jquery의 ajax는 비동기 요청, 즉 "async:true" 매개변수와 구문을 설정할 수 있습니다. "$ .ajax({async: false})"입니다.
이 문서의 운영 환경: Windows 10 시스템, jquery 버전 3.6.1, Dell G3 컴퓨터.
jquery의 ajax는 기본적으로 비동기 요청입니다. 즉, async:true 매개 변수를 설정하여 동기화할 수 있습니다. asycn:false
ajax는 기본적으로 비동기 요청입니다. ajax에서는 async에 따라 동기식으로 만들 수 있습니다. 비동기식 요청인지 여부를 결정하는 값은 다릅니다. async 값이 false이면 ajax 요청이 동기식이라는 의미입니다. 이는 ajax 요청이 비동기식임을 의미합니다. 따라서 async 값은 "true"입니다. 따라서 ajax는 기본적으로 비동기식 요청입니다.
비동기를 동기화하려면 false로 설정하세요(기본값은 true)
var html = $.ajax({ url: “some.php”, async: false }).responseText;
또는 Ajax 속성을 전체적으로 설정하세요
$.ajaxSetup({ async: false });
그런 다음 post를 사용하면 get이 동기식으로 됩니다
예는 다음과 같습니다.
무작위 생성 10자리 정수를 백엔드 데이터베이스와 비교합니다. 백엔드 데이터베이스에 이 난수가 있는 경우 새 숫자가 생성됩니다.
이 요구사항은 프론트엔드와 백엔드의 상호작용을 포함하기 때문에 Ajax 사용이 불가피해서 처음에 이 코드를 작성했습니다.
//randID是封装的生成随机数的函数 function userID() { let ranid = parseInt(randID(1000000000, 10000000001)); let data = null; $.ajax({ type: 'post', url: './php/findID.php', data: 'id=' + ranid, success: function(res) { res = JSON.parse(res); isok = res.length; if (isok != 0) { userID(); } else { return ranid; } } }) } console.log(userID());
출력 결과:
jquery.ajax에 대한 솔루션
함수 아래에 지역 변수 선언(ajax 외부)
ajax를 동기 처리로 처리(jquery.aj 수정) 도끼 방법 : async에 이 코드 추가: false)
선언된 지역 변수 반환
function userID() { let ranid = parseInt(randID(1000000000, 10000000001)); //声明的局部变量 let data = null; $.ajax({ type: 'post', url: './php/findID.php', data: 'id=' + ranid, //将ajax改为同步操作 async: false, success: function(res) { res = JSON.parse(res); isok = res.length; if (isok != 0) { console.log(ranid); userID(); } else { data = ranid; } } }) //返回这个局部变量 return data; } console.log(userID());
출력 결과:
추천 관련 튜토리얼: jQuery 비디오 튜토리얼
위 내용은 jquery ajax를 동기화로 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!