Question

I am having issue while searching using query text in a specific list for cross-domain. Also I am not able to search in a specific site, when I use the following get query, url:

appweburl + "/_api/search/query?querytext ='amar'?@target='" + hostweburl + "'",

Also I am not able to search in a specific list, when I use the following get query, url:

appweburl + "/_api/search/query?querytext=‌​'amar AND path:htt‌​ps://xyz.sharepoi‌​nt.com/Lists/emp data​'?@target='" + hostweburl + "'",

Était-ce utile?

La solution

Grant add-in search permission and try with JSOM.

Here is my test script.

<script type="text/javascript">
        var hostweburl;
        var appweburl;

        // Load the required SharePoint libraries
        $(document).ready(function () {
            //Get the URI decoded URLs.
            hostweburl =
                decodeURIComponent(
                    getQueryStringParameter("SPHostUrl")
            );
            appweburl =
                decodeURIComponent(
                    getQueryStringParameter("SPAppWebUrl")
            );

            // resources are in URLs in the form:
            // web_url/_layouts/15/resource
            //var scriptbase = hostweburl + "/_layouts/15/";

            var clientContext = SP.ClientContext.get_current();
            //var hostWebContext = new SP.AppContextSite(clientContext, hostweburl);            

            var keywordQuery =
            new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(clientContext);

            keywordQuery.set_queryText('test AND path:' + hostweburl + '/Lists/mylist2');

            var searchExecutor =
            new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(clientContext);

            var results = searchExecutor.executeQuery(keywordQuery);

            clientContext.executeQueryAsync(successHandler, errorHandler);

            // Function to handle the success event.
            // Prints the data to the page.
            function successHandler() {                
                for (var i= 0; i < results.m_value.ResultTables[0].ResultRows.length; i++) {
                    alert(results.m_value.ResultTables[0].ResultRows[i].Title) 
                }                 
            }

            // Function to handle the error event.
            // Prints the error message to the page.
            function errorHandler(data, errorCode, errorMessage) {
                alert(errorMessage);
            }           
        });

        // Function to retrieve a query string value.
        // For production purposes you may want to use
        //  a library to handle the query string.
        function getQueryStringParameter(paramToRetrieve) {
            var params =
                document.URL.split("?")[1].split("&");
            var strParams = "";
            for (var i = 0; i < params.length; i = i + 1) {
                var singleParam = params[i].split("=");
                if (singleParam[0] == paramToRetrieve)
                    return singleParam[1];
            }
        }
    </script>
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top