我正在尝试从http://localhost:8080/daddy/访问JSON。此页面由后台的glassfish服务器提供支持。我可以从浏览器访问此URL,我得到以下结果:
{"id":11,"content":"Hello, World!"}
但是当我尝试从AngularJS访问它时,我得到以下结果:
{"data":null,"status":0,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"http://localhost:8080/daddy/","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
******* AngularJS Script ********
app.controller("HttpController", ['$http', function($http){
var currentInstance = this;
currentInstance.data = {};
$http({
method: 'GET',
url: 'http://localhost:8080/daddy/'
}).then(function successCallback(response) {
currentInstance.data = response;
}, function errorCallback(response) {
currentInstance.data = response ;
});
}]);
但是当我使用任何公共网址获取JSON时,它返回就好了。 localhost似乎有问题。任何帮助都将不胜感激!
答案 0 :(得分:0)
乍一看,我没有看到任何json文件?例如:
$http({
method: 'GET',
url: 'http://localhost:8080/daddy/file.json'
}).then(function successCallback(response) {
currentInstance.data = response;
}, function errorCallback(response) {
currentInstance.data = response ;
});
您是否也在本地主机上运行应用程序,并且您将与json一起部署它,如果是,那么为什么要通过localhost链接到它?为什么不
$get('../daddy/file.json/').then(function(response)){
});
我对角度很新,但也许这可以帮助你。
答案 1 :(得分:0)
可能是您的跨源请求问题。请确保为您的Glassfish应用程序启用了CORS:GlassFish: How to set Access-Control-Allow-Origin header