我认为
paramsconfig参数在这里不起作用,因为它将字符串添加到url而不是正文中,但是要添加到Infeligo建议的内容中,这是默认转换的全局替代示例(使用jQuery
param作为转换示例数据到参数字符串)。
设置全局transformRequest函数:
var app = angular.module('myApp');app.config(function ($httpProvider) { $httpProvider.defaults.transformRequest = function(data){ if (data === undefined) { return data; } return $.param(data); }});这样,所有对$ http.post的调用都会自动将主体转换为jQuery
$.post调用所使用的相同参数格式。
请注意,您可能还希望按以下方式为每次调用或全局设置Content-Type标头:
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlenpred; charset=UTF-8';
每个调用的示例非全局transformRequest:
var transform = function(data){ return $.param(data); } $http.post("/foo/bar", requestData, { headers: { 'Content-Type': 'application/x-www-form-urlenpred; charset=UTF-8'}, transformRequest: transform }).success(function(responseData) { //do stuff with response });


