CORS问题没有'访问控制允许原始标题'在请求的资源上

时间:2015-12-09 22:06:30

标签: javascript angularjs api cors

这就是我想要做的事情:

function fetch() {
              $http.get("http://www.myapifilms.com/imdb/top")
                .success(function(response) {
                    console.log(response);
                  $scope.details = response;
                });
            };

我收到的错误如下:

XMLHttpRequest无法加载http://www.myapifilms.com/imdb/top。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。

我已经在这个问题或CORS上查​​了很多,但似乎仍然无法实现我必须添加的内容以及在哪个文件中。

3 个答案:

答案 0 :(得分:2)

这意味着http://www.myapifilms.com不允许" localhost"来源以获取其数据。

我可以推荐两种解决方案

- >尝试使用http-server运行npm install -g http-server

- >下载Chrome插件(不推荐),但可以方便地进行测试https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?utm_source=chrome-app-launcher-info-dialog

答案 1 :(得分:1)

使用此插件: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

//make headers for service
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('appCurrentVersionNumber', AppConstant.APP_VERSION);
headers.append('WebServiceIdentifier', AppStorage.getItem('webserviceidentifier'));
this.headers = {headers}; this.http.post(API_URL + 'checkInVan', JSON.stringify(userData), this.headers).map(res => res.json());

答案 2 :(得分:0)

要使此请求成功,myapifilms.com的响应需要设置正确的标头。您应该做的是通过您自己的服务器路由您的请求。但是,您可以使用browser extension

来进行测试

Explained in detail here