使用搜索其余api(SharePoint列表)显示列表附件的URL和标题 [英] display list attachment url and title using search rest api(SharePoint List)
问题描述
使用下面的代码,我可以在路径中获取提到的列表的搜索结果,
如何基于标题"列或任何其他元数据列字段显示附件URL,什么是搜索标准api以及要传递的结果作为附件URL和标题
<!DOCTYPE html PUBLIC-//W3C//DTD XHTML 1.0 Strict//EN"; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
< html xmlns ="http://www.w3.org/1999/xhtml">
< head>
< script type ="文本/javascript" src =" https://share.novartis.net/sites/Test/TESTING/SiteAssets/Testing/jquery-1.12.4.min.js"></script>
< script type ="文本/javascript">
var html;
函数searchAppWeb(){
//从文本框获取搜索字词
var searchTerm = $(#txtSearchTerm").val();
调试器;
//REST API查询网址
var queryUrl = _spPageContextInfo.siteAbsoluteUrl +"/_api/search/query?querytext ='" + searchTerm +"+ path:\" https://test.test1.net/sites/Test/TESTING/Lists/ListOC \'";
//清空字符串
html =";
//进行ajax调用
$.ajax({
url:queryUrl,
方法:"GET",
标头:{"Accept":"application/json; odata = verbose" },
成功:onSearchSuccess,
错误:onSearchError
});
}
函数onSearchSuccess(data){
//JSON对象包含两个具有搜索结果的元素
/n/1. PrimaryQueryResult
//2. SecondaryQueryResults(将文档在Host Web上分组时)
//获取PrimaryQueryResult并以HTML表格格式呈现
html =< table>";
var primaryQueryResult = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;
if(primaryQueryResult!= null&& primaryqueryQuery!= undefined){
for(var iPrimaryResultCounter = 0; iPrimaryResultCounter< primaryQueryResult.length; iPrimaryResultCounter ++){
html + =< tr>< td>";
html + = primaryQueryResult [iPrimaryResultCounter] .Cells.results [3] .Value;
html + =</td>< td>< a href = \"
html + = primaryQueryResult [iPrimaryResultCounter] .Cells.results [6] .Value;
html + ="\">" + primaryQueryResult [iPrimaryResultCounter] .Cells.results [6] .Value +</a></td>< tr>";
}
}
//获取SecondaryQueryResults并继续以HTML表格格式呈现它
var secondaryResult = data.d.query.SecondaryQueryResults;
if(data.d.query.SecondaryQueryResults!= null&& data.d.query.SecondaryQueryResults!= undefined){
for(var iSecondaryResultCounter = 0; iSecondaryResultCounter< data.d.query.SecondaryQueryResults.results.length; iSecondaryResultCounter ++){
var resultBlock = data.d.query.SecondaryQueryResults.results [iSecondaryResultCounter] .RelevantResults.Table.Rows.results;
for(var iResults = 0; iResults< resultBlock.length; iResults ++){
html + =<< tr>< td>";
html + = resultBlock [iResults] .Cells.results [3] .Value;
html + =</td>< td>< a href = \"
html + = resultBlock [iResults] .Cells.results [6] .Value;
html + ="\">" + resultBlock [iResults] .Cells.results [6] .Value +</a></td< tr>";
}
}
}
html + =</table>" ;;
$(#SearchResultsDiv").append(html);
}
函数onSearchError(err){
alert(JSON.stringify(err));
}
</script>
</head>
< body>
<!-App Web搜索->
< div id ="searchDiv""
< b>搜索</b>
<输入类型=文本"; id =" txtSearchTerm" />
<输入类型=按钮"; id ="btnSearch" value =搜索" onclick ="searchAppWeb()"; />
</div>
< div id ="SearchResultsDiv"></div>
</body>
</html>
Hi,>
我们可以使用以下REST URI获取列表项的附件url和基于列表项标题"字段的标题.
http://sp2013/sites/team/_api/web/lists/getbytitle('CustomList22')/items?
select =附件,附件文件和
expand = AttachmentFiles&
Hi,
Using below code I was able to get search results for the mentioned list in path,
How can I display attachment url based on Title column or any other metadata column field,what needs to be the search rest api and results to be passed for attachment url and Title
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="https://share.novartis.net/sites/Test/TESTING/SiteAssets/Testing/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
var html;
function searchAppWeb() {
//Get the Search Term from textbox
var searchTerm = $("#txtSearchTerm").val();
debugger;
//REST API query URL
var queryUrl = _spPageContextInfo.siteAbsoluteUrl + "/_api/search/query?querytext='" + searchTerm + "+path:\"https://test.test1.net/sites/Test/TESTING/Lists/ListOC\"'";
//Empty the string
html = "";
//Make the ajax call
$.ajax({
url: queryUrl,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: onSearchSuccess,
error: onSearchError
});
}
function onSearchSuccess(data){
// JSON object contains two elements which have search results
//1. PrimaryQueryResult
//2. SecondaryQueryResults (When documents are grouped on Host Web)
//Get PrimaryQueryResult and Render it in HTML Table format
html = "<table>";
var primaryQueryResult = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;
if (primaryQueryResult != null && primaryQueryResult != undefined) {
for (var iPrimaryResultCounter = 0; iPrimaryResultCounter < primaryQueryResult.length; iPrimaryResultCounter++) {
html += "<tr><td>";
html += primaryQueryResult[iPrimaryResultCounter].Cells.results[3].Value;
html += "</td><td><a href=\""
html += primaryQueryResult[iPrimaryResultCounter].Cells.results[6].Value;
html += "\">" + primaryQueryResult[iPrimaryResultCounter].Cells.results[6].Value + "</a></td><tr>";
}
}
//Get SecondaryQueryResults and continue rendering it in HTML Table format
var secondaryResult = data.d.query.SecondaryQueryResults;
if (data.d.query.SecondaryQueryResults != null && data.d.query.SecondaryQueryResults!=undefined) {
for (var iSecondaryResultCounter = 0; iSecondaryResultCounter < data.d.query.SecondaryQueryResults.results.length; iSecondaryResultCounter++) {
var resultBlock = data.d.query.SecondaryQueryResults.results[iSecondaryResultCounter].RelevantResults.Table.Rows.results;
for (var iResults = 0; iResults < resultBlock.length; iResults++) {
html += "<tr><td>";
html += resultBlock[iResults].Cells.results[3].Value;
html += "</td><td><a href=\""
html += resultBlock[iResults].Cells.results[6].Value;
html += "\">" + resultBlock[iResults].Cells.results[6].Value + "</a></td><tr>";
}
}
}
html += "</table>";
$("#SearchResultsDiv").append(html);
}
function onSearchError(err){
alert(JSON.stringify(err));
}
</script>
</head>
<body>
<!-- App Web Search-->
<div id="searchDiv">
<b>Search For</b>
<input type="text" id="txtSearchTerm" />
<input type="button" id="btnSearch" value="Search" onclick="searchAppWeb()" />
</div>
<div id="SearchResultsDiv"></div>
</body>
</html>
Hi,
We can use the following REST URI to get the list item attachment url and title base on list item Title field.
http://sp2013/sites/team/_api/web/lists/getbytitle('CustomList22')/items?
select=Attachments,AttachmentFiles&
expand=AttachmentFiles&
这篇关于使用搜索其余api(SharePoint列表)显示列表附件的URL和标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!