Angular JS中的Http Post请求

时间:2015-09-16 12:15:02

标签: ajax angularjs

我们是棱角分明的新手。

我们使用$http.get尝试了http请求它运行正常。但是在post post中它会产生一个问题,它会成功并显示错误的参数错误代码103。

我们已经尝试使用$.ajax({}),在ajax请求中运行正常。

我也粘贴了我的代码。

任何人都可以帮助我们吗?

mainApp.controller('registrationCtrl', function($scope, $location, $http) {
    $scope.registration = function() {
        console.log("registration called");
        var ws_url = "http://apparelinindia.com/selfiestandoff/WebServices/register";

        var request = $http({
            method: "post",
            url: ws_url,
            data: {
                user_email: $scope.email,
                user_password: $scope.password
            },
            dataType: 'json',
            headers: {
                'Content-Type': 'application/json'
            }

        });
        request.success(function(data) {
            console.log("Success" + data);
        });
        request.error(function(error) {
            console.log("Success" + JSON.stringify(error));
        });
    };
});

3 个答案:

答案 0 :(得分:1)

您可以通过以下方式使用http Post:

  var request = $http.post(ws_url, {
        user_email: $scope.email,
        user_password: $scope.password
    });

答案 1 :(得分:1)

http方法的名称应以大写字母书写。此外,datatype不等待$http属性,您应将其删除:

var request = $http({
     method: "POST",
     url: ws_url,
     data: {
         user_email: $scope.email,
         user_password: $scope.password
     },
     headers: {
         'Content-Type': 'application/json'
     }
});

注意,在上面对$http的调用中,您要设置标题'Content-Type': 'application/json'。但是此标头会由$http自动注入(请参阅$http documentation ),因此您可以将其删除,并使用短语法:

var request = $http.post(ws_url, data);

data等于:

{
    user_email: $scope.email,
    user_password: $scope.password
}

答案 2 :(得分:0)

你得到这个错误吗?

{"status":false,"error":{"code":"103","message":"Required Parameters not found"}}

如果是,则不是您的问题请联系Web服务提供商。

请他提供有效参数