sharepoint - 不使用 CAML 查询从 SharePoint 列表中获取数据
问题描述
你能帮我写这个脚本吗?我正在尝试从列表 'faq' 中提取数据并获得输出警报,但不使用 CAML 查询。但我没有得到输出。请帮忙。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<div id="divListItems"></div>
<script>
$(function () {
ExecuteOrDelayUntilScriptLoaded(addListItems, "sp.js");
});
function addListItems() {
var clientContext = new SP.ClientContext();
var oList = clientContext.get_web().get_lists().getByTitle('faq');
var itemCreateInfo = new SP.ListItemCreationInformation();
this.oListItem = oList.getItem(itemCreateInfo);
clientContext.load(oListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}
function onQuerySucceeded() {
alert('Item created: ' + oListItem.get_item('Title'));
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
</script>
解决方案
使用 REST API 代码获取 SharePoint 列表项的最佳方法如下。
ExecuteOrDelayUntilScriptLoaded(initializePage, "sp.js");
function initializePage() {
var siteURL;
var itemsArray = [];
// This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model
$(document).ready(function() {
var scriptbase = _spPageContextInfo.webServerRelativeUrl + "/_layouts/15/";
GetSampleListItems();
});
//Retrieve list items from sharepoint using API
function GetSampleListItems() {
siteURL = _spPageContextInfo.siteAbsoluteUrl;
console.log("from top nav - " + siteURL);
var apiPath = siteURL + "/_api/lists/getbytitle(''samplelist'')/items";
$.ajax({
url: apiPath,
headers: {
Accept: "application/json;odata=verbose"
},
async: false,
success: function(data) {
var items; // Data will have user object
var results;
if (data != null) {
items = data.d;
if (items != null) {
results = items.results
for (var i = 0; i < results.length; i++) {
itemsArray.push({
"Title": results[i].Title
});
}
}
}
},
eror: function(data) {
console.log("An error occurred. Please try again.");
}
});
}
}
如果没有 REST API,请找到以下代码。
var siteUrl = 'SiteCollection';//HEre you need to give your site collection URL
function retrieveAllListItems() {
var clientContext = new SP.ClientContext(siteUrl);//Will return current context
var oWebsite = clientContext.get_web();//Curent site
this.collList = oWebsite.get_lists();//Liist
clientContext.load(collList);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
//
function onQuerySucceeded() {
var listInfo = '';
//Below is the iteration for item
var listEnumerator = collList.getEnumerator();
while (listEnumerator.moveNext()) {
var oList = listEnumerator.get_current();
listInfo += 'Title: ' + oList.get_title() + ' Created: ' + oList.get_created().toString() + '\n';
}
alert(listInfo);
}
function onQueryFailed(sender, args)
//this will fire when you will any failure in your code..means in your Success method..
}
有很多好的博客请找到下面的一个
http://msdn.microsoft.com/en-us/library/hh185009%28v=office.14%29.aspx
如果您正在寻找其他任何东西,请更新我。
推荐阅读
- java - java.text.ParseException:无法解析的日期:“09:07:31 AM PDT”
- python - werkzeug.routing.BuildError 使用重定向 url_for
- python-3.x - 计算来自不同数据帧的单元格的平均值
- c# - Asp.net 核心中是否有像 Laravel 这样的队列和作业?
- c - Iterator for red-black binary search tree in C
- node.js - VS Code Node.js debugger immediately exits if nothing anywhere in the code "forces" the main event loop to be active
- highcharts - How we design 3d column chart in highcharts like in pic?
- html - 如何删除最后一行块的边距底部?
- python - Seaborn's heatmap when annot=True displays 0, instead of 0.0. How do I change this?
- c++ - Passing a 2D array to a function / constructor