如果對於包含類.event
的每個div更改了值,我正在使用以下代碼檢索給定位置的經度和緯度。JSON請求在jQuery中無法正常工作每個函數
時遇到的問題是,只有兩個結果從該代碼發生:
- 的值從一個JSON請求返回被用於每
lat
和lon
可變 - 變量
lat
和lon
保持完全一樣,就好像它們保持不變,所以JSON值不會被替換。
下面是我使用的代碼:
$(".button").click(function(){
data = "";
$(".event").each(function(){
original = $(this).find(".address").data("original");
location = $(this).find(".address").html();
lat = $(this).find(".lat").html();
lon = $(this).find(".lon").html();
if (original !== location) {
$.getJSON("http://nominatim.openstreetmap.org/search?q="+location+"&format=json&polygon=1&addressdetails=1", function(result) {
lat = result[0].lat;
lon = result[0].lon;
});
}
data = data + randomNumber() + ": " + lat + " " + lon + ",";
});
$(".data").val(data);
$(".form").submit();
});
可變data
將包含含有類event
每個格的lat
和lon
。除非用戶更改地址,否則這些值將保持不變,在此時他們將通過JSON請求再次被檢索。
然後提交表格。
我該如何解決這個問題?謝謝
'$ .getJSON'是異步的。你在回調函數執行前設置'data'。 – Barmar