2016-07-22 54 views
0

作爲標題,我想捕獲瀏覽器發送的http響應。
假設重定向到「http://domain/api/something」,實際上是一個GET請求到「http://domain/api/something」,它返回一個JSON數據。
如何使用AngularJs首次加載數據?angularjs如何捕獲瀏覽器發送的http響應數據

+0

請詳細描述你要完成什麼,也使在這樣做了一些嘗試。 –

+0

假設用戶在瀏覽器中輸入我的頁面「http:// domain/api/something」,那麼我的服務器返回一個JSON數據/一個Html頁面等等。在Html頁面的情況下,瀏覽器將呈現它。問題是,我怎樣才能以文本/ HTML格式獲得Html頁面而不發送其他請求。 –

回答

0

使用$ http服務如下。

$http.get(
    'http://domain/api/something' 
).then(function successCallback(response) { 
    $scope.data = JSON.parse(response.data); 
}, function errorCallback(response) { 
    // error handler 
}); 

參考:https://docs.angularjs.org/api/ng/service/$http

2

您應該修改代碼如下

app.service('feedbackService', function ($http) { 
    this.getFeedbackPaged = function() { 
     return $http.get('http://domain/api/something'); 
    }; 
}); 

app.controller('feedbackController', function ($scope, feedbackService, $filter) { 
    // Constructor for this controller 
    init(); 

    function init() { 
     feedbackService.getFeedbackPaged().then(function(data){ 
      $scope.feedbackItems=data; 
     }); 
    } 
}); 
+0

通過這種方式,我會發送另一個請求,而不是發現瀏覽器已發送的響應,不是嗎? –

+0

請給予更多描述。一旦你加載了init();它將調用http GET方法,響應將存儲在$ scope.feedbackItems中。謝謝 –

相關問題