【发布时间】:2009-08-04 15:11:27
【问题描述】:
我正在实现一个小功能,但有点卡住了。
我有一个按钮可以执行一些动作,比如
<input type="submit" value="My Button" onclick="javascript:DoSomething();" />
当用户点击按钮时,DoSomething 函数被调用。
function DoSomething()
{
var geocoder = new GClientGeocoder();
geocoder.getLocations(map.getCenter(), function SetField(response)
{
if (!response || response.Status.code != 200)
{
alert("Status Code:" + response.Status.code);
}
else
{
var place = response.Placemark[0];
$('#someHiddenField')[0].value = place.AddressDetails.Country.CountryNameCode;
}
});
}
在函数内部定义了一个回调函数,该函数执行异步操作,将城市名称写入表单字段。问题是异步回调将在页面发布后尝试写入字段。有什么可以让后期处理等待回调结果的吗?回调是在 Google Maps API 中定义的,我无法避免。
提前致谢
【问题讨论】:
标签: javascript asynchronous callback http-post