티스토리 뷰
와~ 하루를 꼬박 이것때문에.... 개고생했는데, 알고보니 그리 어려운 것이 아니었다는 것에 더.... 힘빠지네요~
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) | 2019.07.09 |
---|---|
ajax Can I use 사이트를 통해 fetch 호환성여부 확인가능 (0) | 2019.06.29 |
ajax 해시, 특정한 부분으로 접근할때 필요한 것 (0) | 2019.06.29 |
Ajax fetch함수 만들어서 쉽게 해보자구요~ (0) | 2019.06.29 |
ajax 활용한 간단 프로그램 실행해 보기 (0) | 2019.06.29 |
- Total
- Today
- Yesterday
- 코딩튜토리얼
- sql문장 날짜계산
- 작업공정에 대한 코드작성
- 효율적코딩방법
- 테크에능한여성
- #소프트웨어배포
- #파이썬인스톨러
- 오토핫키에디터창업데이트금지하기
- 뫄프로그래밍
- 코딩효율성
- 프로그래머생활
- #InnoSetup
- #파이썬패키징
- .htaccess수정
- 자바스크립트한글입력시반응하도록만드는코드
- #cx_Freeze
- #프로그램설치
- 카페24가비아phpinfo수정
- General error: 2031
- #NSIS
- #독립실행파일
- 스크립트작성기초
- 2분후종료오토핫키
- chatGPT3.5파이썬버전
- 자바스크립트 한글초성
- td요소중에 1행과 1열은 제외
- 오토핫키가이드
- #InstallForge
- 파이썬코드줄바꿈방법
- Bootstrap 5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |