0

我正在使用此处找到的 ArcGIS API for Javascript:http: //help.arcgis.com/en/webapi/javascript/arcgis/index.html

这段 JavaScript 好像是异步运行的,有没有可能让它同步运行,甚至转成同步的 Ajax 呢?

我似乎在 .execute 命令上找不到太多信息

我需要它同步运行,以便 PHP 可以抓取结果(最终结果将回显真或假,警报仅用于调试)

var identifyTask = new esri.tasks.IdentifyTask("http://website.here");
var identifyParams = new esri.tasks.IdentifyParameters();
identifyParams.tolerance = 0;
identifyParams.returnGeometry = true;
identifyParams.layerIds = [layerID];
identifyParams.width = map.width;
identifyParams.height = map.height;
identifyParams.geometry = geom;
identifyParams.mapExtent = map.extent;

identifyTask.execute(identifyParams, function(results) {
    if (results.length == 0) {
        alert('true');
    } else {
        alert('false');
    }
});
4

1 回答 1

0

API Spec Here不包括同步执行的规范。

它仅适用于回调和onCompleteonError事件。

execute()方法不是 Javascript 标准库的一部分。请注意在您的示例代码中如何开始使用esri. 您正在使用esri的库。快速谷歌搜索“esri javascript”找到了 API 站点,然后浏览 API 找到了你在代码中使用的内容。

至于你说你希望 PHP 抓取结果,你没有多大意义。此 javascript 旨在运行客户端,而 PHP 是一种服务器端技术。请进一步详细说明 PHP 将如何抓取结果以及为什么这种同步方法会对此产生任何影响。

于 2012-12-24T05:17:37.030 回答