user2652464
user2652464

Reputation: 1

How to invoke rest service using dojo xhr?

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);
}

Is this the right way of calling rest service? I am getting null response from the above code.

Upvotes: 0

Views: 1212

Answers (1)

Craig Swing
Craig Swing

Reputation: 8162

dojo/xhr cannot be used for cross domain requests.

Is http://sampleserver1.arcgisonline.com/ the same domain that loads the web page or a different server?

If it is the same server, drop the domain name (ie ArcGIS/rest/services/...);

If not, you can use jsonp

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

Another alternative is to call a service located on the web server that acts as a proxy and makes the call to the other server.

Upvotes: 2

Related Questions