JSONP call showing "Uncaught SyntaxError: Unexpected token : "
Here is my code
$.ajax({
url: 'https://api.flightstats.com/flex/schedules/rest/v1/json/flight/AA/100/departing/2013/10/4?appId=19d57e69&appKey=e0ea60854c1205af43fd7b1203005d59&callback=?',
dataType: 'JSONP',
jsonpCallback: 'jsonCallback',
type : 'GET',
async: false,
crossDomain: true,
success: function(data) {
console.log(data);
}
});
What am I doing wrong? should I add or change anything in here? Any help would be appreciated. Thanks
Solution 1:
Working fiddle:
http://jsfiddle.net/repjt/
$.ajax({
url: 'https://api.flightstats.com/flex/schedules/rest/v1/jsonp/flight/AA/100/departing/2013/10/4?appId=19d57e69&appKey=e0ea60854c1205af43fd7b1203005d59',
dataType: 'JSONP',
jsonpCallback: 'callback',
type: 'GET',
success: function (data) {
console.log(data);
}
});
I had to manually set the callback to callback
, since that's all the remote service seems to support. I also changed the url to specify that I wanted jsonp.
Solution 2:
You're trying to access a JSON, not JSONP.
Notice the difference between your source:
https://api.flightstats.com/flex/schedules/rest/v1/json/flight/AA/100/departing/2013/10/4?appId=19d57e69&appKey=e0ea60854c1205af43fd7b1203005d59&callback=?
And actual JSONP (a wrapping function):
http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=processJSON&tags=monkey&tagmode=any&format=json
Search for JSON + CORS/Cross-domain policy and you will find hundreds of SO threads on this very topic.