我正在进行一个项目,我正在为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);
}
});
答案 0 :(得分:0)
使用SP.RequestExecutor,您必须确保正确使用appweburl和hostweburl参数。例如,我假设您使用的'baseUrl'值实际上是您从SharePoint收到的appweburl。
此外,您需要将目标网址(hostweburl)附加到您的网址字符串。
虽然这涉及更新,但查看我的post here。
可能会有用