Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cross-domain $http request AngularJS

I have simple website I'm building with AngularJS which calls an API for json data.

However I am getting Cross domain origin problem is there anyway around this to allow for cross domain requests?

Error:

XMLHttpRequest cannot load http://api.nestoria.co.uk/api?country=uk&pretty=1&action=search_listings&place_name=soho&encoding=json&listing_type=rent. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http:// localhost' is therefore not allowed access.

  searchByPlaceName: function() { 
        var url = baseurl+'country=uk&pretty=1&action=search_listings&place_name=london'+encoding+type;
         return $http.get(url);
    }
like image 831
Tom Avatar asked Mar 20 '14 22:03

Tom


1 Answers

It seems that api.nestoria.co.uk does not allow CORS. It has to set the Access-Control-Allow-Origin header itself -- you have no direct control over that.

However, you can use JSONP. That site allows it via the callback query parameter.

$http.jsonp(baseurl+'country=uk&pretty=1&action=search_listings&place_name=london'
    +encoding+type + "&callback=JSON_CALLBACK")
like image 130
Explosion Pills Avatar answered Sep 22 '22 20:09

Explosion Pills