programing tip

jquery“$ .post”요청을 동 기적으로 만드는 방법

itbloger 2020. 6. 1. 19:07
반응형

jquery“$ .post”요청을 동 기적으로 만드는 방법


나는 이것을 인터넷 검색하고 오랫동안 내 버그 수정 목록 에서이 오류를 피했지만 마침내 목록의 끝에 도달했습니다. 마지막으로 함수가 true / false를 반환하여 상태를 반환 해야하는지 여부 유효성 검사가 성공했는지 여부 ajax를 사용하여 특정 필드를 이미 db에있는 필드와 비교하고 기본적으로

$.post()

메소드는 비동기 적으로 작업을 수행합니다.호출 내부에 변수를 설정

onSuccess

하고 호출 메소드가 이것으로 응답을 얻지 못하므로 모든 js / jquery가 pageLoad에서 실패합니다 ... 계속

$.post

메소드를 계속 사용할 수 있다면 선호합니다 .


jQuery <1.8

훨씬 더 사용자 정의 할 수 있으므로

$.ajax()

대신 사용 하는 것이 좋습니다

$.post()

.

$.post()

예를 들어 다음과 같이 전화하는 경우 :

$.post( url, data, success, dataType );

그것을

$.ajax()

동등한 것으로 바꿀 수 있습니다 .

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType,
  async:false
});

매개 변수 객체

async:false

의 끝에 유의하십시오

$.ajax()

.다음은

$.ajax()

매개 변수에 대한 전체 세부 사항입니다 .

jQuery.ajax () – jQuery API Documentation

.


jQuery> = 1.8 "async : false"지원 중단 알림

jQuery> = 1.8은 http 요청 중에 UI를 차단하지 않으므로 요청이 처리되는 한 해결 방법을 사용하여 사용자 상호 작용을 중지해야합니다. 예를 들면 다음과 같습니다.

  • 플러그인을 사용하십시오 . 예 : BlockUI ;
  • 을 호출하기 전에 수동으로 오버레이를 추가 한 $.ajax()다음 AJAX .done()콜백이 호출 될 때 오버레이 를 제거하십시오 .

예를

들어이 답변

살펴보십시오 .


동기 요청을 원하는 경우 요청에 대한

async

특성을

false

설정하십시오 . jQuery AJAX Doc을 확인하십시오.


Jquery 문서에서 : 비동기 Ajax 요청을 얻으려면 async 옵션을 false로 지정하십시오. 그런 다음 어머니 기능이 진행되기 전에 콜백에서 일부 데이터를 설정할 수 있습니다.제안 된대로 변경하면 코드는 다음과 같습니다.

beforecreate: function(node,targetNode,type,to) {
    jQuery.ajax({
         url:    url,
         success: function(result) {
                      if(result.isOk == false)
                          alert(result.message);
                  },
         async:   false
    });          
}

이는 $ .ajax가 비동기 성을 설정할 수있는 유일한 요청 유형이기 때문입니다.참고 URL :

https://stackoverflow.com/questions/5821380/how-to-make-a-jquery-post-request-synchronous

반응형