티스토리 뷰
와~ 하루를 꼬박 이것때문에.... 개고생했는데, 알고보니 그리 어려운 것이 아니었다는 것에 더.... 힘빠지네요~
ajax로 보내면.. 수많은 abort들
위의 것은 해결된 후에도 딱 한번만 나오면 좋겠는데,
그래도 두번은 나오네요.
이것 알기전에는 보통 3번, 많게는 5번씩 쭈~ 욱 읽는 것...
각설하고 핵심을 남겨놓습니다.
var deferred = $.Deferred();
// data 전송해서 php 값을 넣기 위해 필요한 구문
$.ajax({
url: URL,
type: "post",
data: $("#board_form").serialize(),
dataType:"json",
timeout: 20000, // 20초
success : function(data){
deferred.resolve(data);
console.log(data);
deferred를 활용하는것...
사실 이것 이전에 몰랐음...
// // 중복호출 금지
// if (ajaxRequest3 !== null) {
// ajaxRequest3.abort();
이 방법을 주로 썼는데, 안통하는 강한놈을 만남...
하루종일 정말 이것때문에 꼬박 시간을 보냄
불러오기 해서 다시 조회하면...
분명 오류가 없는데 나오지 않는 현상...
다시 코드 정리해서 올려봅니다.
만약 버튼 이외의 이벤트나 함수에서 Ajax 요청을 호출한 후에 실행까지 대기하는 코드가 필요하다면, Deferred 객체를 사용할 수 있습니다. Deferred 객체는 jQuery에서 비동기 작업의 상태를 추적하고, 작업이 완료되었을 때 콜백 함수를 호출할 수 있도록 합니다.
아래 예제 코드에서는 Deferred 객체를 사용하여 Ajax 요청이 완료될 때까지 기다린 후, done() 메소드를 사용하여 콜백 함수를 호출합니다.
function myFunction() {
var deferred = $.Deferred();
$.ajax({
url: 'yourUrl',
type: 'POST',
data: yourData,
success: function(response) {
console.log(response);
deferred.resolve(response);
},
error: function(xhr, status, error) {
console.log(error);
deferred.reject(error);
}
});
return deferred.promise();
}
myFunction().done(function(response) {
// Ajax 요청이 완료된 후 실행할 코드
console.log('Ajax 요청이 완료되었습니다.');
});
위 코드에서 myFunction() 함수에서 Deferred 객체를 생성한 후, Ajax 요청을 실행합니다. Ajax 요청이 완료될 때, resolve() 메소드를 호출하여 상태를 변경합니다. 이후 promise() 메소드를 사용하여 Deferred 객체를 반환하고, done() 메소드를 사용하여 콜백 함수를 등록합니다.
myFunction() 함수를 호출하면, Ajax 요청이 완료될 때까지 promise() 객체를 반환합니다. 이후 done() 메소드가 실행되어 Ajax 요청이 완료된 후에 실행할 코드를 작성할 수 있습니다.
'IT tech Coding > ajax' 카테고리의 다른 글
AJAX 요청 실패 시 디버깅: 구체적인 오류 정보를 알아내는 방법 (0) | 2024.12.02 |
---|---|
ajax 누구냐 넌? 대단하다고 들었는데, 도대체 가.... (0) | 2019.07.09 |
ajax Can I use 사이트를 통해 fetch 호환성여부 확인가능 (0) | 2019.06.29 |
ajax 해시, 특정한 부분으로 접근할때 필요한 것 (0) | 2019.06.29 |
Ajax fetch함수 만들어서 쉽게 해보자구요~ (0) | 2019.06.29 |
- Total
- Today
- Yesterday
- 엑셀보호
- #파이썬패키징
- 테크에능한여성
- 오블완
- #독립실행파일
- 티스토리챌린지
- #프로그램설치
- 구글드라이브API
- 오토핫키가이드
- json파일형태보기
- 스크립트작성기초
- 엑셀셀보호
- 코딩효율성
- #소프트웨어배포
- json파일편하게보는법
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- ajax오류메시지
- chatGPT3.5파이썬버전
- 코딩튜토리얼
- 엑셀입력보호
- sql문장 날짜계산
- 파이썬코드줄바꿈방법
- #InstallForge
- 뫄프로그래밍
- #NSIS
- #InnoSetup
- Bootstrap 5
- 프로그래머생활
- General error: 2031
- 효율적코딩방법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |