我对SharePoint开发完全陌生。 我正在尝试使用NAPA为基本的CRUD操作创建一个应用程序。 我从http://www.plusconsulting.com/blog/2013/05/crud-on-list-items-using-rest-services-jquery/获取了参考。
REST中有一些基本的get命令。
我正在使用从单个列表中获取所有列表项(其中url类似于:http://UsersrverName/site/_api/web/lists/getbytitle(‘listname’)/items
)
现在根据ODATA查询获取列表项,该函数为:
function getListItems(url, listname, query, complete, failure) {
// Executing our items via an ajax request
$.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items" + query,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
complete(data); // Returns JSON collection of the results
},
error: function (data) {
failure(data);
}
});
}
此处,根据功能参数,我已为网址和列表名称指定了值,查询为空,因为我选择了所有项目,我不知道为完整和失败分配什么。
所以我主要关心的是在函数getListItems()中传递的参数。
请帮助。如果还有其他选择(不使用REST),请建议。
答案 0 :(得分:1)
基本上complete
和failure
参数是函数回调。以下示例演示如何调用指定的函数:
var webUrl = 'http://intranet.contoso.com';
var listTitle = 'Documents';
var queryOptions = '';
getListItems(webUrl,listTitle ,queryOptions,
function(data){ //success callback function
for(var i = 0; i < data.d.results.length; i++){
var item = data.d.results[i];
console.log(item.Title);
}
},
function(error){ //error callback function
console.log(JSON.stringify(error));
}
);
关键点:
SharePoint REST端点/_api/web/lists/getbytitle('<list title>')/items
以下列格式返回JSON对象:
(对于Documents
库)
jQuery 1.5中引入的另一种常用方法基于CommonJS Promises/A design:
jQuery.Deferred()
提供灵活的方式来提供多个 回调,无论是否调用,都可以调用这些回调 原始回调调度已经发生
演示如何使用jQuery.Deferred()
对象的相同示例:
function getListItems(url, listname, query) {
return $.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items" + query,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" }
});
}
<强>用法强>
getListItems(_spPageContextInfo.webAbsoluteUrl,'Documents','')
.done(function(data)
{
for(var i = 0; i < data.d.results.length; i++){
var item = data.d.results[i];
console.log(item.Title);
}
})
.fail(
function(error){
console.log(JSON.stringify(error));
});