Getting a “No 'Access-Control-Allow-Origin' header is present on the requested resource.” Error

十年热恋 提交于 2019-12-24 04:37:28

问题


Further to the previous question - Uber API - HTTPS needed for Price Estimates? - I have set up https on our site.

My App on Uber Developer is set up with the redirect URL & Origin URL being the https domain.

Following the code on this page - https://developer.uber.com/v1/api-reference/#request-response - I've tried testing the code given here:-

var xhr = new XMLHttpRequest();
xhr.setRequestHeader("Authorization", "Token YOUR_SERVER_TOKEN");
xhr.open('GET', 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823');

Unfortuantely I'm getting the error "Uncaught InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.".

I've then switched around the .setRequestHeader & .open lines and I am getting the following error:-

"XMLHttpRequest cannot load https://api.uber.com/v1/estimates/price?start_latitude=53.4521477&start_longitude=-2.2750512&end_latitude=53.4522973&end_longitude=-2.275001. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://milliondollarwiki.co.uk' is therefore not allowed access."

Here is the final code in question:-

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.uber.com/v1/estimates/price?start_latitude=' + position.coords.latitude + '&start_longitude=' + position.coords.longitude + '&end_latitude=53.4522973&end_longitude=-2.275001');
xhr.setRequestHeader("Authorization", "Token bTVn8k_wF3JpmHlZ0GhdbMWaLgbLMSaYof8rs-S_");        
xhr.send();

The URL which is interacting in the Uber API is in a subfolder of the Redirect & Origin URLs, but I don't think that should cause an issue.

Any idea on what is going wrong?


回答1:


I looked up your application and at this time you have

https://milliondollarwiki.co.uk/scratchpad/

as the ORIGIN URI. For CORS, you should only be specifying the server address without a specified path (and no trailing slash). Try changing it to:

https://milliondollarwiki.co.uk

and see if that fixes your problem.




回答2:


Right I managed to get it fixed :). I had to recreate the app which took a minute or two but it was fine. Odd :-/



来源:https://stackoverflow.com/questions/29286835/getting-a-no-access-control-allow-origin-header-is-present-on-the-requested-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!