async : false를 $ .getJSON 호출로 설정할 수 있습니까?
async: false
호출 할 때 $.getJSON()
비동기가 아닌 호출이 차단되도록 설정할 수 있습니까?
다음과 같이을 사용 $.ajax()
하여 동기식으로 호출해야합니다 .
$.ajax({
url: myUrl,
dataType: 'json',
async: false,
data: myData,
success: function(data) {
//stuff
//...
}
});
이것은 현재 다음 $.getJSON()
과 같이 사용하여 일치 합니다.
$.getJSON(myUrl, myData, function(data) {
//stuff
//...
});
두 가지 대답 모두 틀 렸습니다. 할 수 있습니다. 당신은 전화해야합니다
$.ajaxSetup({
async: false
});
json ajax 호출 전에. 그리고 호출이 재조정 된 후 true로 설정할 수 있습니다 (비 동기화를 원하는 경우 페이지에 ajax의 다른 사용법이있는 경우)
둘 다 옳다고 생각합니다. 나중의 대답은 잘 작동하지만 전역 옵션을 설정하는 것과 같으므로 다음을 수행해야합니다.
$.ajaxSetup({
async: false
});
//ajax call here
$.ajaxSetup({
async: true
});
제 경우에는 Jay 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));
I don't think you can set that option there. You will have to use jQuery.ajax() with the appropriate parameters (basically getJSON just wraps that call into an easier API, as well).
Roll your own e.g.
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);
})
If you just need to await
to avoid nesting code:
let json;
await new Promise(done => $.getJSON('https://***', async function (data) {
json = data;
done();
}));
참고URL : https://stackoverflow.com/questions/2765411/is-it-possible-to-set-asyncfalse-to-getjson-call
'Programing' 카테고리의 다른 글
WPF에 DesignMode 속성이 있습니까? (0) | 2020.08.19 |
---|---|
기존 문자열에 추가 (0) | 2020.08.19 |
타사 "추적 쿠키"는 어떻게 작동합니까? (0) | 2020.08.19 |
Android Studio는 com.android.support:appcompat-v7:+와 일치하는 버전을 찾을 수 없습니다. (0) | 2020.08.19 |
싱글 클릭 이벤트와 더블 클릭 이벤트를 어떻게 구분하나요? (0) | 2020.08.19 |