搜索

首页  >  问答  >  正文

angular.js - angularjs每次发送$http都把所有数据当作一个key,value为空发出去


chrome浏览器中的发送数据如上图,注意最后那个冒号,冒号前面是key,后面value是空的。
我的发送代码如下:

$scope.loginJump = function(info){
    $http({
        url:'http://192.168.1.54:8080/retailer/user/auth',
        method:"POST",
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        data: {
            userName: info.staffID,
            userPass: info.password,
            checkCode: info.security
        },
        success: function(data){
            alert(data);
        },
        error: function(err){
            alert(err);
        }
    });
};
某草草某草草2743 天前519

全部回复(1)我来回复

  • 漂亮男人

    漂亮男人2017-05-15 16:53:56

    直接放在data里会把参数以json的形式直接放在body发出去,而你的headers里面又设置成了content-type是application/x-www-form-urlencoded,所以就会被认为是formdata,但是其实整个都当一个key了。

    当然直接用json把数据post上去其实就没问题了,如果你一定要post form data的话,应该要自己拼出来或者用jquery的$.param之类的方法来做。

    回复
    0
  • 取消回复