ajax post request is No 'Access-Control-Allow-Origin' header is present on the requested resource.'

harishkumar329 picture harishkumar329 · Nov 26, 2013 · Viewed 29k times · Source

I'm just making an ajax post request and I'm getting an error like:

XMLHttpRequest cannot load https://xxx.com?redirect_uri=http://www.example.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.

And here I can see there is nothing different from my response domain and request domain except "www", so does "www" also cause this issue?

Answer

Rory McCrossan picture Rory McCrossan · Nov 26, 2013

The problem is because you are making a cross-domain AJAX request, which prevented by browser security - see the Same Origin Policy.

The request is expecting you to be making a request to a CORS enabled domain, hence why it is complaining about the non-existant header.

You either need to change your request to jsonp type, or use a server-side proxy to get the data.