AngularJS无法访问localhost:8080

时间:2016-01-10 13:15:09

标签: javascript angularjs json

我正在尝试从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似乎有问题。任何帮助都将不胜感激!

2 个答案:

答案 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