angularjs $http.post问题

哎码 发布于 2015/09/11 22:17
阅读 463
收藏 0

后台用springmvc框架,发现直接用$http.post发送请求后台接受不到

然后在网上搜了一下,大概知道是json格式和请求头的问题,另外还找到一种解决办法:

myApp.config(function ($httpProvider) {
    $httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

    $httpProvider.defaults.transformRequest = [function (data) { var param = function (obj) { var query = ''; var name, value, fullSubName, subName, subValue, innerObj, i; for (name in obj) { value = obj[name]; if (value instanceof Array) { for (i = 0; i < value.length; ++i) { subValue = value[i]; fullSubName = name + '[' + i + ']'; innerObj = {}; innerObj[fullSubName] = subValue; query += param(innerObj) + '&';
                    }
                } else if (value instanceof Object) { for (subName in value) { subValue = value[subName]; fullSubName = name + '[' + subName + ']'; innerObj = {}; innerObj[fullSubName] = subValue; query += param(innerObj) + '&';
                    }
                } else if (value !== undefined && value !== null) { query += encodeURIComponent(name) + '='  + encodeURIComponent(value) + '&';
                }
            } return query.length ? query.substr(0, query.length - 1) : query;
        }; return angular.isObject(data) && String(data) !== '[object File]'  ? param(data)
            : data;
    }];
});
我前端不太好,不太懂他是干嘛的,总之是解决了。

现在来问一下,angularjs和jquery对于post请求有这么大的区别,考虑的什么呢?

有没有什么简单易懂的方法能解决他?或者在后台springmvc有没有什么解决措施?

@大漠穷秋

加载中
返回顶部
顶部