[JQUERY] 이 세트 비동기 할 수 있습니다 : $ .getJSON 호출에 거짓
JQUERY이 세트 비동기 할 수 있습니다 : $ .getJSON 호출에 거짓
해결법
-
1.이 같은 기적 그것에 $ 아약스 ()를 사용하여 전화를 걸 필요가 :
이 같은 기적 그것에 $ 아약스 ()를 사용하여 전화를 걸 필요가 :
$.ajax({ url: myUrl, dataType: 'json', async: false, data: myData, success: function(data) { //stuff //... } });
이 같은 $ .getJSON ()를 사용하여 현재 일치합니다 :
$.getJSON(myUrl, myData, function(data) { //stuff //... });
-
2.두 대답은 잘못이다. 당신은 할 수 있습니다. 당신은 호출 할 필요가
두 대답은 잘못이다. 당신은 할 수 있습니다. 당신은 호출 할 필요가
$.ajaxSetup({ async: false });
당신의 JSON 아약스 문의하기 전에. (당신이 비동기를 원하는 경우 페이지에 아약스의 다른 용도가있는 경우) 그리고 당신은 호출이 돌아 오면 true로 설정할 수 있습니다
-
3.난 당신이 모두 옳다고 생각합니다. 후자의 대답은 잘 작동하지만 당신이 다음을 수행 할 수 있도록 글로벌 옵션을 설정 같은 :
난 당신이 모두 옳다고 생각합니다. 후자의 대답은 잘 작동하지만 당신이 다음을 수행 할 수 있도록 글로벌 옵션을 설정 같은 :
$.ajaxSetup({ async: false }); //ajax call here $.ajaxSetup({ async: true });
-
4.내 경우에는, 제이 D는 권리입니다. 내가 전화하기 전에 반드시 추가해야합니다.
내 경우에는, 제이 D는 권리입니다. 내가 전화하기 전에 반드시 추가해야합니다.
$.ajaxSetup({ async: false });
내 앞의 코드에서, 나는이있다 :
var jsonData= (function() { var result; $.ajax({ type:'GET', url:'data.txt', dataType:'json', async:false, success:function(data){ result = data; } }); return result; })(); alert(JSON.stringify(jsonData));
그것은 찾을 작동합니다. 그럼으로 변경
var jsonData= (function() { var result; $.getJSON('data.txt', {}, function(data){ result = data; }); return result; })(); alert(JSON.stringify(jsonData));
경고는 정의되어 있지 않습니다.
나는 다시 그 세 줄, 알림 쇼 데이터를 추가하는 경우.
$.ajaxSetup({ async: false }); var jsonData= (function() { var result; $.getJSON('data.txt', {}, function(data){ result = data; }); return result; })(); alert(JSON.stringify(jsonData));
-
5.그냥 기다리고해야하는 경우 중첩 코드를 피하기 위해 :
그냥 기다리고해야하는 경우 중첩 코드를 피하기 위해 :
let json; await new Promise(done => $.getJSON('https://***', async function (data) { json = data; done(); }));
-
6.나는 당신이이 옵션을 설정할 수 있습니다 생각하지 않습니다. 당신은 적절한 매개 변수 (기본적으로해서 getJSON은 단지뿐만 아니라, 쉬운 API로 그 호출을 래핑)와 () jQuery.ajax를 사용해야합니다.
나는 당신이이 옵션을 설정할 수 있습니다 생각하지 않습니다. 당신은 적절한 매개 변수 (기본적으로해서 getJSON은 단지뿐만 아니라, 쉬운 API로 그 호출을 래핑)와 () jQuery.ajax를 사용해야합니다.
-
7.자신의 예를 들면, 롤
자신의 예를 들면, 롤
function syncJSON(i_url, callback) { $.ajax({ type: "POST", async: false, url: i_url, contentType: "application/json", dataType: "json", success: function (msg) { callback(msg) }, error: function (msg) { alert('error : ' + msg.d); } }); } syncJSON("/pathToYourResouce", function (msg) { console.log(msg); })
from https://stackoverflow.com/questions/2765411/is-it-possible-to-set-asyncfalse-to-getjson-call by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 : DIV로로드 텍스트 파일 삽입 (0) | 2020.10.20 |
---|---|
[JQUERY] 어떻게 DOM 요소의 모든 이벤트를 바인딩 할 수 있습니다? (0) | 2020.10.20 |
[JQUERY] 단지 자바 스크립트를 사용하여 폴더에서 이미지 파일 이름은 모두의 목록을 반환하는 방법이 있나요? (0) | 2020.10.19 |
[JQUERY] 어떻게 브라우저 또는 요소 스크롤을 사용하지 않도록 설정할 수 있습니다,하지만 여전히 휠 스크롤을 허용하거나 화살표 키를? (0) | 2020.10.19 |
[JQUERY] 왜 jQuery를 클릭 기능이 작동하지 않습니다? (0) | 2020.10.19 |