Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 熱海
- typescript
- terraform
- CSV
- Selenium
- 체코
- vba
- JenkinsFile
- duckdb
- 페이페이
- local
- 카마츠루
- 뮌헨
- 방콕
- javascript
- 메르페이
- codebuild
- PayPay
- Python
- pyenv
- 프라하
- 미츠이 스미토모
- 태국
- 아타미
- PostgreSQL
- react.js
- 釜つる
- 三井住友カード
- documentdb
- node.js
Archives
- Today
- Total
도쿄사는 외노자
AJAX 내부에서의 return 문제 본문
코드 관리 테이블 마스터 작성 중,
DB와 연계하여, 입력된 코드의 중복 검사를 할 필요가 있었음.
var chkBCOverlap = false;
를 선언 후,
중복 체크를 해 가며 최종적으로는
chkBCOverlap = true;
로 바꾸고
return chkBCOverlap;
를 하고 싶었으나...
Ajax로 데이터를 받아온 이후,
1 2 3 4 5 | success: function(data){ if(조건){ chkBCOverlap = true; } } | cs |
와 같은 형태로 선언을 했더니
이 이후로 진행이 되지 않는 문제가 발생하였다.
일단 JSON이 비동기식이기 때문에,
Ajax단에서의 return이 움직이기 전에,
이미 그 아래의 코드가 별도로 진행되어 버린 것이다.
이를 해결하기 위해서
ajax단을 따로 분리하여 function을 만들어,
거기서 return을 하는 방향으로 변경.
이래 해봐야 ajax의 비동기식 방식은 변하지 않는다!
그래서 더 알아보니...
그냥 Ajax내부에, 동기식-비동기식 조절 가능한 방법이 있었다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $.ajax({ url: '~~~', type: 'POST', data: { A: A }, async: false, dataType: 'json', beforeSend: function(XMLHttpRequest) { }, success: function(data){ // 内容 } }); | cs |
동기화 : async를 false로
비동기화 : default
이걸로 해결되었다...
'Tech > JavaScript' 카테고리의 다른 글
jQuery Sparklines (0) | 2016.02.16 |
---|---|
Javascript Comma (0) | 2016.02.15 |
테이블 클릭 이벤트 (0) | 2016.01.13 |
jQuery Class제어 (0) | 2015.07.29 |
Javascript에서 페이지 내의 테이블 객체 다루기 (0) | 2015.06.24 |