gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:13:27 25 4
gpt4 key购买 nike

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

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

var url = 'http://somewhere.com/';
var xsrf = {fkey: 'xsrf key'};

$http({
method: 'POST',
url: url,
data: xsrf
}).success(function () {});

$.ajax({
type: 'POST',
url: url,
data: xsrf,
dataType: 'json',
success: function() {}
});

最佳答案

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

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

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

> $.param({fkey: "key"})
'fkey=key'

所以你有这样的东西:

$http({
method: 'POST',
url: url,
data: $.param({fkey: "key"}),
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
})

来自:https://groups.google.com/forum/#!msg/angular/5nAedJ1LyO0/4Vj_72EZcDsJ

更新

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

关于ajax - 如何将数据作为表单数据而不是请求负载发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11442632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com