2016-04-07 4 views
0

Я хотел создать простую страницу для запроса с полем ввода и кнопкой. Вот мой HTML:AngularJS: http-запрос ничего не возвращает

<html ng-app="cgApp" > 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> 
    <script src="../js/controller.js"></script> 
    <script src="../js/service.js"></script> 

    </head> 
    <body> 
    <div ng-controller="CgseqCtrl"> 
     <input ng-model="analysisid"><button ng-click="searchById()">Search</button> 
     <table> 
      <tr> 
       <td>{{seq.analysisId}}</td> 
       <td>{{seq.center}}</td> 
       <td>{{seq.diseaseAbbr}}</td> 
       <td>{{seq.filepath}}</td> 
       <td>{{seq.library}}</td> 
      </tr> 
     </table> 

    </div> 

    </body> 
</html> 

Функция для обработки нг щелкните событие searchById() реализуется в моих controller.js

var app = angular.module('cgApp', []) 

app.controller('CgseqCtrl', ['$scope', 'Cgseq', function($scope, Cgseq){ 
    $scope.searchById = function() { 
     Cgseq.getSeqById($scope.analysisid) 
     .then(function(response){ 
      $scope.seq = response; 
     }, function errorCallBack(response) { 
      console.log(response.$statusText); 
     }); 
    } 
}]); 

Cgseq это имя моего завода в service.js.

app.factory("Cgseq", function ($http) { 
    // return $resource('http://localhost:8080/cgweb/api/seqs/fdebfd6e-d046-4192-8b97-ac9f65dc2009'); 
    var service = {}; 
    service.getSeqById = function(analysisid) { 
     return $http.get('http://localhost:8080/cgweb/api/seqs/' + analysisid); 
    } 
    return service; 
}); 

Когда я загружаю basic.html, введите строку для запроса и нажмите кнопку, на странице ничего не происходит. Я пытался отлаживать шаг за шагом, оказывается, он никогда не попадал в .then или function errorCallBack. Ничто из журналов сервера node.js или сервера tomcat не выглядит подозрительным. Что я сделал не так?

EDIT # 1:

на основе состояния сети, это выглядит как соединение с сервером хорошо (200). network tab

+0

Действительно ли сервер получает запрос? И если да, что вы видите на вкладке сети веб-инспектора вашего браузера? –

+0

проверить сетевые вызовы в консоли разработчика – war1oc

+0

@SunilD. Я загрузил скриншот закладки сети. В нижней строке показано, что сервер получил запрос, не так ли? – ddd

ответ

1
Cgseq.getSeqById($scope.analysisid) 
     .then(function(response){ 
      $scope.seq = response.data; // You have to use response.data 
     }, function errorCallBack(response) { 
      console.log(response.$statusText); 
     }); 

Ссылка: https://docs.angularjs.org/api/ng/service/ $ HTTP

Если вы в а console.log(response) затем обратного вызова вы можете увидеть структуру объекта ответа.

Смежные вопросы