Fab*_*Fab 16 sharepoint sharepoint-2010
任何人都可以解释或指向我使用SharePoint 2010 Rest API使用Jquery进行更新,删除的示例链接吗?
我有插入工作和当然查询,因为MSDN文档解释和网络上的每个教程解释查询,但只是想知道是否有人插入,更新,删除数据而不是仅查询示例和教程?是的我知道我可以使用CSOM,但我想了解如何通过jquery和sharepoint休息来完成这项工作?
另外,我想使用Merge进行更新.
这是工作插入代码:
function insertMilestone() {
var mileStonesListUrl = "/_vti_bin/listdata.svc/Milestones";
var milestone = {};
milestone.Title = "Testing from REST";
var entry = JSON.stringify(milestone);
$.ajax({
type: "POST",
url: mileStonesListUrl,
data: entry,
contentType: "application/json; charset=utf-8",
error: function (xhr) {
alert(xhr.status + ": " + xhr.statusText);
},
success: function () {
getAll();
}
});
}
Run Code Online (Sandbox Code Playgroud)
Vad*_*hev 20
创建
要通过REST执行Create操作,您必须执行以下操作:
POST动词创建HTTP请求.application/json.JavaScript示例:
function createListItem(webUrl,listName, itemProperties, success, failure) {
$.ajax({
url: webUrl + "/_vti_bin/listdata.svc/" + listName,
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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
用法
var taskProperties = {
'TaskName': 'Order Approval',
'AssignedToId': 12
};
createListItem('https://contoso.sharepoint.com/project/','Tasks',taskProperties,function(task){
console.log('Task' + task.TaskName + ' has been created');
},
function(error){
console.log(JSON.stringify(error));
}
);
Run Code Online (Sandbox Code Playgroud)
读
要通过REST执行读取操作,必须执行以下操作:
application/json.JavaScript示例:
function getListItemById(webUrl,listName, itemId, success, failure) {
var url = webUrl + "/_vti_bin/listdata.svc/" + listName + "(" + itemId + ")";
$.ajax({
url: url,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
success(data.d);
},
error: function (data) {
failure(data.responseJSON.error);
}
});
}
Run Code Online (Sandbox Code Playgroud)
用法
getListItemById('https://contoso.sharepoint.com/project/','Tasks',2,function(taskItem){
console.log(taskItem.TaskName);
},
function(error){
console.log(JSON.stringify(error));
}
);
Run Code Online (Sandbox Code Playgroud)
更新
要更新现有实体,您必须执行以下操作:
HTTP使用POST动词创建请求.X-HTTP-Method值为的标头MERGE.POSTIf-Match实体原始ETag值的标头.JavaScript示例:
function updateListItem(webUrl,listName,itemId,itemProperties,success, failure)
{
getListItemById(webUrl,listName,itemId,function(item){
$.ajax({
type: 'POST',
url: item.__metadata.uri,
contentType: 'application/json',
processData: false,
headers: {
"Accept": "application/json;odata=verbose",
"X-HTTP-Method": "MERGE",
"If-Match": item.__metadata.etag
},
data: Sys.Serialization.JavaScriptSerializer.serialize(itemProperties),
success: function (data) {
success(data);
},
error: function (data) {
failure(data);
}
});
},
function(error){
failure(error);
});
}
Run Code Online (Sandbox Code Playgroud)
用法
var taskProperties = {
'TaskName': 'Approval',
'AssignedToId': 12
};
updateListItem('https://contoso.sharepoint.com/project/','Tasks',2,taskProperties,function(item){
console.log('Task has been updated');
},
function(error){
console.log(JSON.stringify(error));
}
);
Run Code Online (Sandbox Code Playgroud)
删除
要删除实体,您必须执行以下操作:
POST动词创建HTTP请求.X-HTTP-Method值为的标头DELETE.If-Match实体原始ETag值的标头.JavaScript示例:
function deleteListItem(webUrl, listName, itemId, success, failure) {
getListItemById(webUrl,listName,itemId,function(item){
$.ajax({
url: item.__metadata.uri,
type: "POST",
headers: {
"Accept": "application/json;odata=verbose",
"X-Http-Method": "DELETE",
"If-Match": item.__metadata.etag
},
success: function (data) {
success();
},
error: function (data) {
failure(data.responseJSON.error);
}
});
},
function (error) {
failure(error);
});
}
Run Code Online (Sandbox Code Playgroud)
用法
deleteListItem('https://contoso.sharepoint.com/project/','Tasks',3,function(){
console.log('Task has been deleted');
},
function(error){
console.log(JSON.stringify(error));
}
);
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请在SharePoint 2010文章中通过REST API按照列表项操作进行操作.
这是更新和删除,它没有我想象的那么难,它的工作原理.希望这会帮助某人,因为有很多关于使用REST API的虚假信息,我看到有很多关于查询的帖子,但是在插入,更新,删除时没有.
//update
function updateMilestone(id) {
var mileStonesUrl = "/_vti_bin/listdata.svc/Milestones";
mileStonesUrl = mileStonesUrl + "(" + id+ ")";
var beforeSendFunction;
var milestoneModifications = {};
milestoneModifications.Title = "Updated from REST";
var updatedMilestoneData = JSON.stringify(milestoneModifications);
//update exsiting milestone
beforeSendFunction = function (xhr) {
xhr.setRequestHeader("If-Match", "*");
// Using MERGE so that the entire entity doesn't need to be sent over the wire.
xhr.setRequestHeader("X-HTTP-Method", 'MERGE');
}
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
processData: false,
beforeSend: beforeSendFunction,
url: mileStonesUrl,
data: updatedMilestoneData,
dataType: "json",
error: function (xhr) {
alert(xhr.status + ": " + xhr.statusText);
},
success: function () {
alert("Updated");
getAll();
}
});
function deleteMilestone(id) {
var mileStonesUrl = "/_vti_bin/listdata.svc/Milestones";
mileStonesUrl = mileStonesUrl + "(" + id+ ")";
$.ajax({
type: "DELETE",
contentType: "application/json; charset=utf-8",
processData: false,
url: mileStonesUrl,
error: function (xhr) {
alert(xhr.status + ": " + xhr.statusText);
},
success: function () {
alert("deleted");
getAll();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
lee*_*oya -1
我最近使用了 SP 2013 的 REST API,作为示例 POC,可用于任何调用实现,即 JQuery、C# 等。
\n\n使用邮递员
\n\n首先获取您的摘要令牌:
\n\n在此站点上找到了一种方法:http://tech.bool.se/basic-rest-request-sharepoint-using-postman/ \xe2\x80\x8b\n [信用到期的信用]
\n\n邮政
\n\nhttp://<SharePoint Domain Url>/sites/<Site name>/_api/contextinfo\nRun Code Online (Sandbox Code Playgroud)\n\n标题:
\n\nAccept : application/json;odata=verbose\nRun Code Online (Sandbox Code Playgroud)\n\n正文: \n清除正文\xe2\x80\x8b
\n\n在执行更改 SharePoint 中的项目的操作时,从有效负载中使用“FormDigestValue”值并将其放入带有键 X-RequestDigest 的标头中。
\n\n读取数据:
\n\n得到
\n\nhttp://<SharePoint Domain Url>/sites/<Site name>/_api/web/getfolderbyserverrelativeurl(\'/Sites/<Site Name>/Shared Documents/My Folder\')/files?$select=Name\nRun Code Online (Sandbox Code Playgroud)\n\n标题:
\n\nAccept : application/json;odata=verbose\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n当涉及创建、更新、删除时,您需要摘要令牌或授权令牌来执行这些操作,该令牌在开始检索时突出显示。
\n\n\xe2\x80\x8b创建数据\n POST
\n\nhttp://<SharePoint Domain Url>/sites/<Site Name>/_api/web/folders\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n标题:
\n\nAccept : application/json;odata=verbose\n\nX-RequestDigest : \'GUID looking toking\'\n\nContent-Type : application/json;odata=verbose\nRun Code Online (Sandbox Code Playgroud)\n\n身体:
\n\n{ \'__metadata\': { \'type\': \'SP.Folder\' }, \'ServerRelativeUrl\': \'/Sites/<Site Name>/Shared Documents/Some Folder/POC3\'}\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n注: \n \'ServerRelativeUrl\'最后POC3的文件夹是我要创建的文件夹
\n\n相关资源: \n http://msdn.microsoft.com/en-us/library/office/fp142380(v=office.15).aspx
\n\n注意:本示例使用了 PostMan,其他应用程序可能需要您对端点进行 url 编码。
\n\n上面的请求结构可用于所有请求,相关资源重点介绍了一些可与 REST Api 一起使用的标准方法
\n| 归档时间: |
|
| 查看次数: |
35327 次 |
| 最近记录: |