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);
}
这是调用休息服务的正确方法吗? 我从上面的代码得到了null响应。
答案 0 :(得分: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服务器上的服务,并调用另一台服务器。