Hi everybody. I need a help. I want to write simple sharepoint farm solution web-part (not App) with javascript for search like describe http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/04/18/how-to-query-search-with-the-sharepoint-2013-javascript-client-object-model.aspx But I get error. My visual web-part code:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %><%@ Assembly Name="Microsoft.Web.CommandUI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %><%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %><%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %><%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="tester.VisualWebPart1.VisualWebPart1UserControl" %><script src="~/_layouts/15/sp.search.js"></script><script src="~/_layouts/15/RDBranding/js/jquery-1.7.2.min.js"></script><script type="text/javascript">
var results;
var context;
_spBodyOnLoadFunctionNames.push("tester");
function tester() {
$("#searchButton").click(function () {
context = SP.ClientContext.get_current();
var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);
keywordQuery.set_queryText($("#searchTextBox").val());
var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context);
results = searchExecutor.executeQuery(keywordQuery);
context.executeQueryAsync(onQuerySuccess, onQueryFail);
});
};
function onQuerySuccess() {
$("#resultsDiv").append('<table>');
$.each(results.m_value.ResultTables[0].ResultRows, function () {
$("#resultsDiv").append('<tr>');
$("#resultsDiv").append('<td>' + this.Title + '</td>');
$("#resultsDiv").append('<td>' + this.Author + '</td>');
$("#resultsDiv").append('<td>' + this.Write + '</td>');
$("#resultsDiv").append('<td>' + this.Path + '</td>');
$("#resultsDiv").append('</tr>');
});
$("#resultsDiv").append('</table>');
}
function onQueryFail(sender, args) {
alert('Query failed. Error:' + args.get_message());
}</script><div><label for="searchTextBox">Search: </label><input id="searchTextBox" type="text" /><input id="searchButton" type="button" value="Search" /></div><div id="resultsDiv"></div>
And my error in browser console after button click:
Aleksandr Shramko