我无法使用angularJs($http)访问服务器
I can not access in to a server with angularJs ($ http)
通过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) {
$scope.items = data;
});
});
但当你启动应用程序时,我会收到这个错误:
XMLHttpRequest无法加载[Name Sting]请求的上不存在"Access Control Allow Origin"标头资源原点'http://localhost:8383因此不允许通道
解决方案在哪里?通知我使用netbeans,并将我的apyKey放在上面的字符串中,然后字符串是正确的,因为我测试了它!
您应该这样做:
$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
之所以出现此错误,是因为浏览器不允许从一个主机(localhost)向另一台主机(rotentomatoes.com)发出AJAX请求,除非后者允许。这被称为CORS。
实现这一点的唯一方法是在AJAX代码和rotentomatoes.com之间使用网关。例如,向您编写的后端应用程序发出AJAX请求,并让后者向rotentomato es.com发出实际请求,将结果返回给您的cleint应用程序。
"您正在向页面所在的不同域执行XMLHttpRequest。因此浏览器会阻止它,因为出于安全原因,它通常允许来自同一来源的请求。当您想要执行跨域请求时,您需要做一些不同的事。"by@MD。Sahib Bin Mahboob
我建议你阅读以下问题/答案:
"否';访问控制允许来源';报头存在于所请求的资源上";
相关文章:
- 我无法使用angularJs($http)访问服务器
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- 访问Protractor/E2E测试中的$http数据(AngularJS)
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Angular Provider/JS-如何访问'叔叔方法'从$http().then()
- jQuery 表单插件:XMLHttpRequest 无法加载 http://www...没有“访问控制允许来源”
- Meteor:使用HTTP.get从客户端访问网站(CORS错误)
- jQuery成功,访问HTTP状态文本
- Javascript HTTPS帧访问父HTTP帧
- 无法从JavaScript访问cookie,但在HTTP标头上可见
- http(localhost或remote)提供的文件是否可以从通过file://protocol打开的本地文件访问?反
- 如何访问您没有访问的HTTP响应的标头't使用javascript通过AJAX发送
- 通过HTTP服务器上的父级目录访问HTML中的JavaScript文件
- 当使用http访问我的facebook iframe页面时,我如何才能获得Modal而不是弹出窗口
- 角美元http.访问同一主机但不同端口失败,没有任何有意义的错误
- 尝试使用http访问API时出错.进入node.js
- 通过http访问浏览器中的摄像头
- 仅从http访问dropbox上的客户端Javascript文件