0

国用と地域用の 2 つの選択肢があります。国選択は静的に入力されますが、地域選択は POST リクエストを通じて現在の国に応じて入力する必要があります。

国パラメーターに対応する JSON で応答するサーバー メソッドを既に作成し、データを select にロードするためのコードを作成しましたが、このコードをウォッチに入れると、正しく動作しません。

.....................
]).factory('helperService', [
'$http', '$log', function($http, console) {
  var checkDiscount, getRegions;
  getRegions = function(countryCode) {
    return $http({
      method: 'POST',
      url: '/api/regions/',
      data: {
        country_code: countryCode
    }
  });
};

.....................
]).controller('orderController', [
.....................
$scope.$watch('billing_country', function(value) {
  helperService.getRegions($scope.country).success(function(result) {
    $scope.regions = result;
    return $scope.order.billing_state = $scope.regions[0];
  });
  return $scope.country = value;
});
4

1 に答える 1

0

の呼び出しfactoryはオブジェクトを返す必要がありますが、現在は何も返していません。

次のように変更します。

.factory('helperService', ['$http', '$log', function($http, console) {

  var checkDiscount;

  var service = {
    getRegions: function(countryCode) {
      return $http({ method: 'POST',
                     url: '/api/regions/', 
                     data: { country_code: countryCode }
      });
    }
  };

  return service;
}])/****/

そして、への呼び出しhelperService.getRegionsは機能します。

于 2012-12-13T23:45:51.880 に答える