如何从SharePoint列表创建javascript数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从SharePoint列表创建javascript数组?相关的知识,希望对你有一定的参考价值。
我想将一个sharepoint列表转换为一个数组,其中数组中的每个字典都包含来自给定sharepoint记录的所有键值。
我尝试过以下方法:
function array_from_sharepoint_list(){
var array = []
var context = SP.ClientContext.get_current()
var list = context.get_web().get_lists().getByTitle('Sharepoint_List')
var caml = new SP.CamlQuery()
caml.set_viewXML('')
var listitems = list.getItems(caml)
context.load(listitems,'Include(ID,Title,col_one,col_two)')
context.executeQueryAsync(
Function.createDelegate(this,function(){
var listEnumerator = listitems.getEnumerator();
while (listEnumerator.moveNext()){
var list_item = listEnumerator.get_current();
var item_dictionary = {ID:list_item.get_item('ID'),Title:list_item.get_item('Title'),col_one:list_item.get_item('col_one'),col_two:list_item.get_item('col_two')}
array.push(item_dictionary)
}
},
Function.createDelegate(this,function(){})))
return array
}
结果不会给出sharepoint列表中每列所需的数组,因为它只提取了四列,而且我不知道所有列名。
答案
我更喜欢使用REST API,使用jQuery:
function array_from_sharepoint_list(ListName){
var array = []
var appWebUrl = _spPageContextInfo.webAbsoluteUrl;
$.ajax({
url: appWebUrl + "/_api/web/lists/getbyTitle('" + ListName + "')/items",
type: "GET",
async: false,
headers: {
"accept": "application/json;odata=verbose"
},
success: function (data) {
array = data.d.results;
},
error: function (err) {
console.log(err);
}
});
return array
}
REST API文档:https://msdn.microsoft.com/en-us/library/office/jj860569.aspx
以上是关于如何从SharePoint列表创建javascript数组?的主要内容,如果未能解决你的问题,请参考以下文章
SharePoint:如何以编程方式将项目添加到自定义列表实例
powerquery导入sharepoint list后如何展开
如何解决在同一 SharePoint Online 网站中使用 Excel 创建列表时在 SharePoint 中弹出的错误