如何将数据发布为表单数据而不是请求负载?

在下面的代码中,AngularJS$http方法调用URL,并将xsrf对象作为“请求负载”提交(如Chrome debugger网络选项卡中所述)。jQuery$.ajax方法执行相同的调用,但将xsrf作为“表单数据”提交

如何让AngularJS将xsrf作为表单数据而不是请求负载提交

var-url=”http://somewhere.com/';
var xsrf={fkey:'xsrf key'};
$http({
方法:“POST”,
url:url,
资料来源:xsrf
}).success(函数(){});
$.ajax({
键入:“POST”,
url:url,
资料来源:xsrf,
数据类型:“json”,
成功:函数(){}
});

需要将以下行添加到传递的$http对象中:

标题:{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'}

传递的数据应转换为URL编码字符串:

>$。param({fkey:“key”})
“fkey=key”

所以你有这样的想法:

$http({
方法:“POST”,
url:url,
数据:$.param({fkey:"key"}),
标题:{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'}
})

发件人:https://groups.google.com/forum/#!msg/angular/5nAedJ1LyO0/4Vj_72EZcDsJ

更新

要使用AngularJS V1.4中添加的新服务,请参阅

  • 仅使用AngularJS服务的URL编码变量

发表评论