I need to make a request to an API which returns json formatted data. This API is on a sub-domain of the domain this script will run off (although at the moment it’s on a totally different domain for dev, localhost)
For some reason I thought that jsonp was supposed to enable this behavior, what am I missing?
Using jQuery 1.4.2
$.ajax({
url:'http://another.example.com/returnsJSON.php',
data: data,
dataType:'jsonp',
type: "POST",
error: function(r,error) {
console.log(r);
console.log(error);
},
success:function(r){
console.log(r);
}
});
You’ll need a combination of Arnaud’s answer (don’t use POST) and R. Bemrose’s answer (make sure server-side returns JSONP), with the added specification of a callback function.
In other words, here’s your modified request code:
Helpful to note that in the generated code you’ll see that when the dataType is “jsonp”, jQuery outputs a script tag pointing at the url; it’s not a typical XHR. You could also use jQuery’s getJSON() here.
Then your response will have to be formatted as such:
When the call is complete, your specified callback will fire.