gpt4 book ai didi

jquery - Sharepoint Angular REST 添加项目产量 400(错误请求)

转载 作者:行者123 更新时间:2023-12-01 02:41:15 25 4
gpt4 key购买 nike

这几天我一直在用头撞墙。我正在尝试使用 Angular js 将项目添加到 Sharepoint 中的列表中。

检索项目很顺利,但添加项目对我来说不起作用。

代码:

spApp.controller('spListCtrl', function($scope, $http, $q) {
$http.post("https://tools.site.com/_api/lists/getbytitle('PersonalFilter')/items", {
'Title': 'TEST'
}, {
headers: {
'Accept': 'application/json; odata=verbose',
'X-RequestDigest': $("#__REQUESTDIGEST").val()
}
}).success(function(data, status, headers, config) {
console.log("YES");
}).error(function(data, status, headers, config) {});
});

我之前已经使用 jQuery Ajax (以类似的方式)完成了此操作,但我似乎无法找到问题所在。

该脚本在与调用所在的同一站点上运行,因此没有跨域调用。此外,它嵌入在脚本编辑器中,因此可以直接在 Sharepoint 母版页内运行。

有什么建议吗?

最佳答案

此错误可能由以下原因导致:

1.列表项有效负载无效

特别是 body 的格式列表项的属性必须具有以下格式:

$http({
data: { Title : 'John Doe', __metadata: {type: 'SP.Data.ContactsListItem' }},
//remaining parameters are omitted for clarity
});

哪里

  • Title是列表项的属性
  • __metadata属性是强制,并指定列表项的实体类型(在您的情况下,此属性丢失,在我的情况下,因为它是 Contacts列表,值为SP.Data.ContactsListItem ) 请参阅关于下面的“列出项目实体类型”部分描述了如何确定实体列表项的类型。

<强>2。缺少 header Content-Type

Content-Type必须指定,例如:

$http({
headers: {
"Content-Type" : "application/json;odata=verbose",
//...
}
});
<小时/>

以下示例演示如何使用 SharePoint 2013/Online REST 创建列表项。

示例

$scope.createContact = function() {

var endpointUrl = "https://contoso.sharepoint.com/_api/web/lists/getByTitle('Contacts')/items";
var itemPayload = { Title : 'John Doe', __metadata: {type: 'SP.Data.ContactsListItem' }};

$http({
method: "POST",
url : endpointUrl,
data: itemPayload,
headers: {
"Content-Type" : "application/json;odata=verbose",
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
}).success(function (data, status, headers, config) {
//Process List Item
var contact = data.d;
}).error(function (data, status, headers, config) {
//An error occured...
});

}

关于列表项实体类型

以下查询允许确定列表项的实体类型:

端点 URI:https://contoso.sharepoint.com/_api/web/lists/getByTitle('<list title>')?$select=ListItemEntityTypeFullName

关于jquery - Sharepoint Angular REST 添加项目产量 400(错误请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101635/

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