Search code examples
angularjswebapp2

How to call webapp post url from angular app


Here is my webapp Class

class CreateChannel(webapp.RequestHandler):
    def post(self):
        userEmail = self.request.get("userEmail", default_value='')
        userDBId = self.request.get("userId", default_value='')
        logging.info("Deleting existing channel and creating new channle for User Id : " + userDBId)

And I am trying like this from angular controller

var objUser = JSON.stringify({
            "userId": Session.activeUserId,
            "email": Session.userId
        });

var deferred = $q.defer();
var route = URLS.AppUrl + "/createchannel";
deferred.resolve($http({
            method: 'POST',
            url: route,
            data: objUser
        }).success(function (response) {
            console.log("GeneralService : Channel Created");
        }).error(function(err){
            console.log("error")
        }));

I am not able to get the passed parameters. What is the issue ?


Solution

  • For json Content-Type, you should do,

    import json
    class CreateChannel(webapp.RequestHandler):
        def post(self):
            params = json.loads(self.request.body)
            userEmail = params.get("userEmail") if params.get("userEmail") else ""
            userDBId = params.get("userId") if params.get("userId") else ""