> 웹 프론트엔드 > 프런트엔드 Q&A > jquery ajax를 동기화로 변경하는 방법

jquery ajax를 동기화로 변경하는 방법

WBOY
풀어 주다: 2022-09-09 16:13:53
원래의
3916명이 탐색했습니다.

jquery에서 ajax는 async를 false로 설정하여 기본적으로 jquery의 ajax는 비동기 요청, 즉 "async:true" 매개변수와 구문을 설정할 수 있습니다. "$ .ajax({async: false})"입니다.

jquery ajax를 동기화로 변경하는 방법

이 문서의 운영 환경: Windows 10 시스템, jquery 버전 3.6.1, Dell G3 컴퓨터.

jquery ajax를 동기로 변경하는 방법

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를 동기화로 변경하는 방법

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 ajax를 동기화로 변경하는 방법

추천 관련 튜토리얼: jQuery 비디오 튜토리얼

위 내용은 jquery ajax를 동기화로 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿