angularjs$resource JSONP不';行不通
我创建了这个列表工厂angularjs$resource JSONP不';行不通,angularjs,resources,jsonp,Angularjs,Resources,Jsonp,我创建了这个列表工厂 factory('ListFactory', ['$resource', function ($resource) { // var Chiamate = $resource('http://samedomain.com/file.json', {}, { var Chiamate = $resource('http://anotherdomain.com/file.json', {}, { query: { // method: '
factory('ListFactory', ['$resource', function ($resource) {
// var Chiamate = $resource('http://samedomain.com/file.json', {}, {
var Chiamate = $resource('http://anotherdomain.com/file.json', {}, {
query: {
// method: 'JSONP',
method: 'GET',
isArray: true,
cache : false,
}
});
return {
query: function(id) {
chiamate = Chiamate.query();
return chiamate;
}
};
}]);
在控制器中,我使用
$scope.results=ListFactory.query()
并将结果显示到html中
{{results}}
如果我尝试在同一个域中下载json文件
使用方法:'GET',=>ok我看到了资源
如果我尝试在另一个域中下载json文件
使用方法:'GET',=>KO我看到了这个错误:
XMLHttpRequest无法加载请求的资源上没有“Access Control Allow Origin”标头。因此,不允许访问源“”
如果我尝试在另一个域中下载json文件
使用方法:'JSONP',=>KO我没有看到任何错误,但我没有看到结果:
我用
有什么想法吗?你能帮我在另一个域上获取json文件吗?你需要远程站点的合作才能正常工作。他们需要发送带有您的站点名称的访问控制允许来源,否则浏览器将抛出您看到的错误 请参阅下面的stackoverflow问题,该问题有更详细的答案
您是否有一些服务器端代码将json转换为jsonp?如果没有,您唯一的选择就是使用另一种技术,如服务器端php/asp/node等,或者在anotherdomain.com上实现CORS。