programing

jquery "$post" 요청을 동기화하는 방법

muds 2023. 9. 3. 16:40
반응형

jquery "$post" 요청을 동기화하는 방법

저는 오랫동안 이 오류를 검색하여 버그 수정 목록에서 이 오류를 피했지만, 마침내 목록의 끝에 도달했습니다. 마지막으로 유효성 검사가 성공했는지 여부를 나타내는 함수를 true/false로 반환해야 합니다.

Ajax를 사용하여 특정 필드를 이미 DB에 있는 필드와 비교하고 있으며 기본적으로$.post()메소드는 비동기식으로 작동합니다.

통화 내부의 변수를 설정하는 중입니다.onSuccess호출 방법이 이로 인해 응답을 받지 못하므로 pageLoad에서 모든 js/jquery가 실패합니다...저는 제가 계속해서 사용할 수 있다면 더 좋습니다.$.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 설명서.


jQuery >=1.8 "dllc:false" 폐지 안내

jQuery >=1.8은 http 요청 중 UI를 차단하지 않으므로, 요청이 처리되는 한 사용자 상호 작용을 중지하기 위한 해결 방법을 사용해야 합니다.예:

  • 플러그인을 사용합니다.블록 UI;
  • 호출하기 전에 수동으로 오버레이 추가$.ajax()그리고 나서 AJAX가 그것을 제거할 때..done()콜백이 호출됩니다.

예를 들어 이 답변을 참조하십시오.

동기식 요청을 원하는 경우 설정합니다.async에 대한 재산.false청을 위하여jQuery AJAX 문서 확인

Jquery 문서에서 비동기 옵션을 false로 지정하여 동기화된 Ajax 요청을 가져옵니다.그런 다음 콜백은 마더 기능이 진행되기 전에 일부 데이터를 설정할 수 있습니다.

제안된 대로 코드를 변경할 경우 다음과 같이 표시됩니다.

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

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

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

반응형