以下是我要使用的内容:
参考文献:
非常简单:
我试过了:
$.ajax({
url: "https://example.com/_api/web/lists/getbytitle('Announcements')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify( { '__metadata': { 'type': 'SP.Data.AnnouncementListItem' }, "Title": "New Announcement!" } ),
headers: {
"Accept": "application/json;odata=verbose",
"Authorization": "Bearer " + accessToken
"X-RequestDigest": form digest value,
"IF-MATCH": etag,
},
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(data);
}
});
然后我知道很多事情都出错了,特别是在headers
部分。但这是什么意思:
Authorization
accessToken
X-RequestDigest
IF-MATCH
..然后如何获取这些值(使用JavaScript)?那样:
我仍然找不到一个关于正确执行此Update
/ Insert
的简单而完整的示例。
答案 0 :(得分:1)
因此我有两种方法可以将项目提交到列表,即jQuery库SPServices和REST API。 SPServices确实有很好的文档记录here。使用REST API也更快更容易!
function createListItem(itemProperties, success, failure) {
$.ajax({
url: "https://example.com/_vti_bin/listdata.svc/Announcements",
type: "POST",
processData: false,
contentType: "application/json;odata=verbose",
data: JSON.stringify(itemProperties),
headers: {
"Accept": "application/json;odata=verbose"
},
success: function(data) {
success(data.d);
},
error: function(data) {
// failure(data.responseJSON.error);
alert("error");
}
});
}
我上面做的第一件事就是创建一个函数,只要你想创建一个新的列表项,就可以调用它。参数itemProperties可以填充您需要的字段,请参见下文。
var Title = "Title";
var Answer = "Answer";
var userid = _spPageContextInfo.userId;
var taskProperties = {
'Title': Title,
'Answer': Answer,
'UserId': userid
};
然后我们要做的就是用我们刚刚声明的新变量调用这个函数。
createListItem(taskProperties, function(task) {
alert("Thank you for your input!");
},
function(error) {
console.log(JSON.stringify(error));
}
);
答案 1 :(得分:1)
实际上你在上一篇评论中发布的jsfiddle不是REST。您只需使用SharePoint客户端对象模型。在REST API模型下面找到我希望它可以工作
var cat = {
"__metadata": { "type": ItemType },
"Title": "GenIT-Issue",
}
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('Tickets')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(cat),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
},
error: function (data) {
}
});
我在SharePoint页面中运行此代码,因此无需身份验证。它将在当前用户权限上运行