如何在Angularjs $ http.post中传递参数

时间:2014-02-20 14:05:16

标签: angularjs

这里我试图将“$ scope.getCourse ='adobe'”的值传递给服务器,以便它返回相应的课程详细信息,从中我可以使用响应数据中的ng-repeat填充列表。但是当我插入“$ scope.getCourse”和servelet url时,下面的代码失败了。

var courseApp = angular.module('courseApp', []);

courseApp.controller('courseCtrl', ['$scope', '$http', function($scope, $http){
    //$scope.getCourse = 'adobe'; //need to pass this value to the server;

    $http.post('javaServerlet', $scope.getCourse).success(function(data){
        $scope.result = data.MainTopic;
        $scope.lessons = data.CourseOutline;
    })  
}])

来自servelet的json格式


{ 
    "MainTopic": "Adobe",
    "RunningTime": "6h11min",
    "Description": "Course Description comes here",
    "CourseOutline":
    [ 
        { "Lessons" : "Lesson 1" , "Title" : "Introduction1" , "Duration" : "31m 27s"},
        { "Lessons" : "Lesson 2" , "Title" : "Introduction2" , "Duration" : "56m 05s"},

    ]
}

请让我知道如何实现上述情况,我对angularjs很新。

1 个答案:

答案 0 :(得分:20)

您的data应该是键/值对,请尝试:

$http.post('javaServerlet', {course: $scope.getCourse})

该变量将在参数course

下到达服务器