在下面的代码中,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编码变量