【问题标题】:How to do a Update/Merge/Patch to a SharePoint list with SharePoint_api如何使用 SharePoint api 更新/合并/修补 SharePoint 列表
【发布时间】: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


    【解决方案1】:

    解决了。我没有在 URL 中提供 id。

        var url = `${_spPageContextInfo.webAbsoluteUrl}/_api/web/lists/getbytitle('Bokningar')/items('${id}')`;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 2010-12-07
      • 2023-04-06
      相关资源
      最近更新 更多