【问题标题】:Sharepoint 2013 REST add to document library with custom content type - JSSharepoint 2013 REST 添加到具有自定义内容类型的文档库 - JS
【发布时间】:2013-07-17 18:28:56
【问题描述】:

我正在一个项目中为 Sharepoint 2013 文档库实现 CRUD,其中包括两种自定义内容类型,默认的我将调用 MyDoc 派生自 Document 和另一种类型我将调用 MyDocSet它源自文档集。我正在用 JS/jQuery 做这个。

在创建列表项时,我似乎不知道如何设置内容类型。我想添加一个内容类型为 MyDocSet 的项目,但它总是想采用默认的内容类型。

这是我失败的尝试:

var executor = new SP.RequestExecutor(baseUrl);
var bodyContent = JSON.stringify({
    "__metadata": {"type": "SP.Data.LineJSubmitItem"},
    //How to set content type ID?
});
executor.executeAsync({
    url: baseUrl + "/sites/linej/_api/web/lists/GetByTitle('LineJSubmit')/items",
    method: "POST",
    headers: {
        "Accept": "application/json;odata=verbose",
        "content-type": "application/json;odata=verbose",
        "X-RequestDigest": formDigestValue,
        "content-length": bodyContent.length,
    },
    body: bodyContent,
    success: function(data) {
        alert("success");
    },
    error: function(data, errorCode, errorMessage) {
        var jsonObject = JSON.parse(data.body);
        var errMsg = jsonObject.error.message.value;
        alert(errMsg);
    }
});

【问题讨论】:

    标签: sharepoint-2013


    【解决方案1】:

    使用 SP.RequestExecutor,您必须确保正确使用 appweburl 和 hostweburl 参数。例如,我假设您使用的“baseUrl”值实际上是您从 SharePoint 收到的 appweburl。

    此外,您需要将目标网址(hostweburl)附加到您的网址字符串中。

    虽然这涉及更新,但查看我的post here 可能会很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 2017-12-04
      • 2021-11-03
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多