gpt4 book ai didi

ajax - 在 AngularJS 中重写 jQuery Ajax 调用

转载 作者:行者123 更新时间:2023-12-03 22:58:49 30 4
gpt4 key购买 nike

是否存在对此 jQuery ajax POST 的 AngularJS 等效调用,使用 contentTypesetRequestHeader

$.ajax({
url: "http://localhost/songs",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/UpdateListItems");
},
success: function(data){
console.log(data);
}
});

最佳答案

您可能想要使用 $http$resource服务。在 $http 文档中,您可以看到有关设置 HTTP header 的部分来设置 SOAPAction,并且默认内容类型已设置为 json(尽管您也应该能够覆盖它)。

这可能会让您开始,我有兴趣查看其他答案以获得更好的方法,因为这似乎有限。

var module = angular.module('myApp', []);

module.config(function ($httpProvider) {
$httpProvider.defaults.headers.post['SOAPAction'] = 'http://schemas.microsoft.com/sharepoint/soap/UpdateListItems';
});

function myController($http) {
var data = { 'value1': 1, 'value2': 2 };

$http.post('/songs', data).success(function (data) {
console.log(data);
});
}

基于this thread我不相信您可以为每个调用设置不同的 header ,但它看起来像 change可能会访问允许它的 $resource 服务。

更新:文档中一定错过了它,但您绝对可以使用 $http per this post 设置每次调用的不同操作像这样:

var data = { 'value1': 1, 'value2': 2 };

$http.post('/songs', data, {headers: {'SOAPActions': 'http://schemas.microsoft.com/sharepoint/soap/UpdateListItems'}})
.success(function (data) {
console.log(data);
});

关于ajax - 在 AngularJS 中重写 jQuery Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624067/

30 4 0
文章推荐: jQuery.on() - 如何在元素加载后立即初始化
文章推荐: jquery - 从 Chrome 扩展内容脚本中选择