Javascript 我无法使用angularJs($http)访问服务器
通过AngularJs,我试图访问服务器,让我以这种方式返回JSONJavascript 我无法使用angularJs($http)访问服务器,javascript,angularjs,angularjs-directive,cors,angular-ui-router,Javascript,Angularjs,Angularjs Directive,Cors,Angular Ui Router,通过AngularJs,我试图访问服务器,让我以这种方式返回JSON modulo.controller('listaController', function($scope, $http) { $http.get('http://api.rottentomatoes.com/api/public/v1.0/movies.json?[apyKeyBlaBla]&q=Toy+Story+3&page_limit=1').success(function(data) {
modulo.controller('listaController', function($scope, $http) {
$http.get('http://api.rottentomatoes.com/api/public/v1.0/movies.json?[apyKeyBlaBla]&q=Toy+Story+3&page_limit=1').success(function(data) {
$scope.items = data;
});
});
但当您启动应用程序时,会出现以下错误:
XMLHttpRequest无法加载[Name Sting]请求的服务器上不存在“Access Control Allow Origin”头
资源。因此,不允许使用源“”
进入
解决方案在哪里?
通知我使用netbeans,我将apyKey放在上面的字符串中,然后该字符串是正确的,因为我测试了它 “您正在对与页面所在域不同的域执行XMLHttpRequest。因此,浏览器正在阻止它,因为出于安全原因,它通常允许同一来源的请求。当您要执行跨域请求时,需要执行不同的操作。”作者@MD.Sahib Bin Mahboob
我建议您阅读以下问题/答案:
出现此错误是因为浏览器不允许从一台主机(localhost)向另一台主机(rottontomatos.com)发出AJAX请求,除非后者允许。这被称为
实现这一点的唯一方法是在AJAX代码和rottentomatos.com之间使用网关。e、 i.向您编写的后端应用程序发出AJAX请求,并让后者向Rottomatoes.com发出实际请求,将结果返回给您的cleint应用程序。您应该这样做:
$http.jsonp('http://api.rottentomatoes.com/api/public/v1.0/movies.json?[apyKeyBlaBla]&q=Toy+Story+3&page_limit=1&callback=JSON_CALLBACK').success(function(data) {
$scope.items = data;
});
重要的是在请求url中有callback=JSON\u callback,请参阅本文中的帖子。。从这里你会知道我必须写的代码是什么?这样我就不明白了!我必须写的代码是什么?这样我就不明白了!我理解这个问题,但我不理解并解决它……RottontomotesAPI服务是否开启了JSONP?