我需要从具有URL的服务器获取JSON数据:
http://xxxx.xxxx.xxxx.xxxx:8084/inpulse/api/user/listall
这是我的角度代码:
var app = angular.module('app',[]);
app.controller('Controller', function ($scope,$http) {
$scope.email="";
$scope.password="";
$scope.sample="";
$http({
method: 'GET',
url: 'http://xxxx.xxxx.xxxx.xxxx/inpulse/api/user/listall',
})
.success(function (data, status, headers, config) {
var ret = data;
$scope.sample = JSON.stringify(ret);
})
.error(function (data, status, headers, config) {
alert(status);
// something went wrong :(
});
});
现在,当我使用像http://ip.jsontest.com/这样的JSON测试网址时,相同的代码工作正常。 它绝对不是服务器的问题,因为我用REST客户端测试了它并得到了响应。我无法弄清楚我做错了什么。
答案 0 :(得分:2)
可能是 CORS 配置问题 如果您尝试从不在同一域/源中的页面访问服务器,则会收到错误,因为服务器未配置为允许CORS。
Chrome的 error reported 如下所示:
XMLHttpRequest无法加载
http://xxxx.xxxx.xxxx.xxxx/inpulse/api/user/listall
。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://fiddle.jshell.net'因此不允许访问。
除此之外,代码似乎正常工作。