Sharepoint 2013 REST使用自定义内容类型添加到文档库 - JS

时间:2013-06-24 18:38:20

标签: sharepoint-2013

我正在进行一个项目,我正在为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);
    }
});

1 个答案:

答案 0 :(得分:0)

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

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

虽然这涉及更新,但查看我的post here

可能会有用