简体   繁体   中英

How to pass parameter in Angularjs $http.post

Here i'm trying to pass the value of "$scope.getCourse = 'adobe'" to the server so that it returns the corresponding course details, from where i can populate list using ng-repeat from the response data. But the below code fails when i insert "$scope.getCourse" along with 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;
    })  
}])

json format from servelet

{ 
    "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"},

    ]
}

Please let me know how to achieve the above senario, I'm very new to angularjs.

Your data should be a key/val pair, try:

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

And that variable will get to the server under the parameter course

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM