Angular向后台发送请求

传统的使用jQuery的AJAX请求,最近做登录用AngularJs请求时遇到一点点问题,写下来,给同样遇到坑的人立个flag。正文开始:

一、jQuery版本的请求:

$.ajax({ 
    type: “post”, 
    url: “请求路径”, 
    data: {loginName:”刘十一”,password:123456}, 
    dataType: “json”,                       
    success: function(data){

    });
});

二、Angular版本的请求:

angular.module("app",[])
    .controller("loginCtrl",["$scope","$http",function ($scope,$http) {
        $scope.login = function () {
            var data = {"loginName":$scope.phone,"password":$scope.psw};
            var url = 'http://localhost:8181/' + 'users/login';
            var postCfg = {
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
                transformRequest: function (data) {
                    return $.param(data);
                }
            };
            $http.post(url,data,postCfg).then(function (res) {

            }).catch(function (res) {

            });
        }
    }])

这里要注意的是Angular的请求格式默认是json,所以要在headers里面声明Content-
Type的请求格式,而transformRequest则是将数据序列化的,有些博客对于请求后的处理
结果使用的是success()和error()。但是这种方法在Angular新的版本中已经取消这种形
式,对应的用then()和catch()来代替,这些都是只是方法而已。

在这个案例中我收获最大的是Angular和jQuery默认请求的方式不同,而后台的接收方式不同,才导致前端传入的参数后台无法接收,了解了这点,就可以做出相应的改进


排版好麻烦啊-_-!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值