0
try{
    var targetURL ="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/1/query?where=STATE_NAME%3D%27Florida%27&f=json";
    var xhrArgs = {
    url: targetURL,                 
    handleAs: "json",
    load: function(data) {
        alert(data);
    },
    error: function(error) {
        alert("An unexpected error occurred: " + error);
    }
    };
    var deferred = dojo.xhrGet(xhrArgs);
}catch(e){
    alert(e);
}

这是调用休息服务的正确方式吗?我从上面的代码中得到空响应。

4

1 回答 1

2

dojo/xhr不能用于跨域请求。

http://sampleserver1.arcgisonline.com/加载网页的域是同一个域还是不同的服务器?

如果是同一个服务器,去掉域名(即ArcGIS/rest/services/...);

如果没有,你可以使用jsonp

https://dojotoolkit.org/reference-guide/1.9/dojo/request/script.html#dojo-request-script

另一种选择是调用位于 Web 服务器上的服务,该服务充当代理并向其他服务器发出调用。

于 2013-08-05T10:43:48.117 回答