簡體   English   中英

發送POST請求並獲取Angular中的項目

[英]Send POST request and get items in Angular

我用Angular編寫了我的第一個應用程序,現在遇到了問題...我有帶有身份驗證令牌的POST請求地址。 就像是:

http://example.com/orders?authentication_token=123456

因此,我需要進行ng-submitng-click發送請求,並獲得一堆項目並將其顯示在頁面上。此外,我還有一個body

{
"order": {
    "seller_id":84,
    "price":123,
    "delivary_date":"12-12-2025",
    }
}

那么,什么是最好的方法呢?

假設您有一個orderCtrl ng-clickng-submit是根據您的應用要求而定。 調用觸發$http發布的someFunction()函數,您就可以處理成功和失敗的響應。

app.controller('orderCtrl', function($scope, $http) {

  $scope.someFunction = function(){
  var data = {}; // prepare your data here. 
  $http({
    method : "POST",
    url : "specify your url here",
    data : data
  }).then(function mySucces(response) {
      var response = response.data;
       // handle your success here
    }, function myError(response) {
      // handle the failure here
  });

 });
});

注意 :

如果您使用的是表單,並且希望在用戶填寫所有信息后觸發此功能,請使用ng-submit 如果它是獨立的,則使用ng-click

我再說一遍,這完全取決於您在做什么。

因此,您將必須制作一個與服務器進行通信並獲取數據的角度服務,以及一個與該服務進行交互以獲取數據並通過UI顯示的角度控制器。

可以說服務名稱是MyService:

app.service('MyService', function($http) {
    var params = {}; // some parameters
    this.getData = function(successCallback, failureCallback) {
        $http.post("URL", params).then(function(data) {
            successCallback(data);
        }, function(data, status) {
            failureCallback(data, status);
        });
    }
});

控制器名稱為MyCntrl:

app.controller('MyCntrl', function($scope, MyService) {

    function successCallback(data) {
        $scope.itemList = data;  
    }

    function failureCallback(data, status) {
        $scope.itemList = {};
    }

    $scope.handleClick = function() {
        MyService.getData(successCallback, failureCallback);
    }
});

我相信它將幫助您解決您的要求!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM