Angular JS - 具有嵌套作用域的http请求出错

时间:2016-06-29 16:01:03

标签: javascript angularjs

此问题基于this之前的回答。

我正在尝试发送一个http请求,其中我要发送的其中一个元素在视图中表示为

{{selectedCountry.shipping[shippingType]}}

请求必须包含其他元素,以便发出单个请求,我将它们与

混合在一起
$scope.checkoutData = angular.extend($scope.selectedCountry.shipping[$scope.shippingType], $scope.selectedCountry.name);

然后用

发送请求
$scope.submitForm = function() {
    $http.post('process.php', $scope.checkoutData)
};

但是当我做第二步时,我得到一个错误。您可以看到the working fiddle here(第二步注释,因此它不会破坏代码)。提前谢谢!

1 个答案:

答案 0 :(得分:3)

您需要向控制器注入$ http:

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

我在你的plunker中看到的错误是:

ReferenceError: $http is not defined

对于angular.extend的第二个问题,请尝试将提交功能更改为:

$scope.submitForm = function() {
    var checkoutData = {
        shippingAmount: $scope.selectedCountry.shipping[$scope.shippingType],
        country: $scope.selectedCountry.name
     }

    $http.post('process.php', checkoutData)
};