【发布时间】:2018-05-31 14:44:06
【问题描述】:
我想更新 SharePoint 列表。我读到标题必须包含"X-HTTP-Method": "MERGE",类型应该是POST。我不知道"IF-MATCH": "*" 是否需要有etag。当我删除一个项目时,"IF-MATCH": "*" 不需要有 etag。这是我的代码:
function UpdateBooking(ajaxData) {
var url = `${_spPageContextInfo.webAbsoluteUrl}/_api/web/lists/getbytitle('Bokningar')/items`;
//requestHeaders
var requestHeaders = {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-HTTP-Method": "MERGE",
"IF-MATCH": "*",
"X-RequestDigest": jQuery('#__REQUESTDIGEST').val()
}
//Data
var data = {
__metadata: {
"type": "SP.Data.BokningarListItem"
},
Title: ajaxData.Title,
EventDate: ajaxData.EventDate,
EndDate: ajaxData.EndDate,
Description: ajaxData.Description,
IsBlock: ajaxData.IsBlock,
Milj_x00f6_: ajaxData.Milj_x00f6_,
Program: ajaxData.Program
};
//requestBod
var requestBody = JSON.stringify(data);
//Post
var post = jQuery.ajax({
url: url,
type: "POST",
headers: requestHeaders,
data: requestBody
});
//Done
post.done(function(data, textStatus, jqXHR) {});
//Fail
post.fail(function(jqXHR, textStatus, errorThrown) {});
}
这是我得到的错误:
{"error":{"code":"-1, Microsoft.SharePoint.Client.InvalidClientQueryException","message":{"lang":"en-US","value":"The type SP.ListItemEntityCollection does not support HTTP PATCH method."}}}
任何想法我做错了什么?
【问题讨论】:
标签: jquery ajax api sharepoint-online sharepoint-list