Abilash Abilash - 5 months ago 8
AngularJS Question

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.

Answer

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

Comments