我是 OOP 的新手,我尝试使用 ajax 请求构建一个对象。我需要的是获取 JSON 格式的“responseArray”,然后进行处理。
function adres(adres) {
this.adres_string = adres;
var self = this
$.ajax({
type: 'POST',
url: "http://nominatim.openstreetmap.org/search?q="+adres+"&format=json&polygon=0&addressdetails=0",
success: function(data) {
self.responseArray = eval('(' + data + ')')
}
})
//Method returning point coordinates in EPSG:4326 system
this.getLonLat = function() {
var lonlat = new OpenLayers.LonLat(this.responseArray.lon, this.responseArray.lat);
return lonlat;
}
}
当我在应用程序代码中编写时,问题就开始了:
var adr = new adres('Zimna 3, Warszawa');
adr.getLonLat();
这不会返回任何内容,因为没有时间从服务器获取响应。如何以最好的方式正确编写它?我读过 jQuery 中的 when().then() 方法。这对我来说可能没问题。我只想了解最佳实践