Javascript 访问控制允许angularjs生产中的原点

Javascript 访问控制允许angularjs生产中的原点,javascript,angularjs,angularjs-scope,angular-ui-router,Javascript,Angularjs,Angularjs Scope,Angular Ui Router,在我的angularjs应用程序中,我试图从rest在线服务中获得一些信息,但这给了我一个错误 XMLHttpRequest cannot load http://iatageo.com/getLatLng/OPO. No 'Access-Control-Allow-Origin' Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"t

在我的angularjs应用程序中,我试图从rest在线服务中获得一些信息,但这给了我一个错误

XMLHttpRequest cannot load http://iatageo.com/getLatLng/OPO. No 'Access-Control-Allow-Origin'
Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"http://iatageo.com/getLatLng/OPO","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
我的截取代码是:

$scope.originAirport = 'OPO';
  $http.get('http://iatageo.com/getLatLng/'+$scope.originAirport).then(function(response){
        $scope.originLatLong = response.data;
    });
起初我认为这是因为我在本地运行,但在生产中启动后,我遇到了同样的问题。
我使用的是angularjs 1.6*

似乎API不允许CORS,所以试着通过创建自己的服务器来解决它,该服务器将从API获取信息,然后将其传递给服务器

同样,API不允许CORS
XMLHttpRequest无法加载http://iatageo.com/getLatLng/BSB. 请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源站“null”。

如果您熟悉NodeJS Express,可以使用下面的脚本

const App = require('express')();
const CORS = require('cors');
const RP  = require('request-promise');

const PORT = 3000;

const BASEURL = 'http://iatageo.com/getLatLng/';

App.use(CORS());

App.get('/getLatLng/:airport', function(request, response) {
    const airportCode = request.params.airport;
    const URL = BASEURL + airportCode;
    RP({ url: URL, json: true }).then(function(data) {
        response.json(data);
    });
});

App.listen(PORT, function(err) {
    if (err) throw err;
    console.log('listening to port:', PORT);
});

我已经试过将应用程序投入生产,但也有同样的问题,是在共享主机中,是一样的吗?投入生产不会有帮助。您可以联系api的开发人员,让他们知道他们不允许CORS(跨源资源共享)。我对您的问题的回答是设置代理/转发服务器。我将使用nodeJS应用程序脚本对我的答案进行编辑