0
我有一個JavaScript文件,我期望一次又一次調用相同的getJSON調用。例如:從函數返回getJSON響應
$(document).ready(function() {
$('#validate').click(function() {
var url;
url = 'http://myurl';
$.getJSON(url, function(data) {
if (data[0].response.status === 'ok') {
$('#validate_text').html("data validated");
} else {
$('#validate_text').html("data Not Valid");
}
});
});
});
這工作我想重構這個喜歡的東西:
$(document).ready(function() {
$('#validate').click(function() {
var url;
url = 'http://myurl';
data = myjsonfunction(url);
if (data[0].response.status === 'ok') {
$('#validate_text').html("DLS/NTS Validated");
} else {
$('#validate_text').html("DLS/NTS Not Valid");
}
});
});
其中myjsonfunction(url)
是一個獨立的功能,我可以通過URL,並將其返回原始的getJSON數據。我已經看到了幾個例子,你在getJSON塊的外面設置了一個已經定義好的變量,但我似乎無法得到任何這些工作。
可能重複調用(HTTP [如何返回從異步調用的響應?]://計算器。 COM /問題/ 14220321 /如何對返回的響應,從-的異步調用)。總之,你不能直接返回價值,但你可以返回承諾 – Phil
嗯......我需要考慮這一點。我明白你在說什麼。當我直接調用getJSON時,我的代碼等待響應,但是如果我嘗試從外部調用它,它會超時失敗,因爲除非外部函數立即返回結果(它不能),否則數據的值總是未定義的(這就是我當我嘗試它時看到了。 –