Rest / _api Sharepoint 2013获取过滤器列表(精炼者)

时间:2017-02-27 14:08:48

标签: .net sharepoint sharepoint-2013

大家好我一直在为sharepoint2013寻找api我使用Rest / api,我可以根据关键字返回过滤器列表,但我找不到任何

我能找到的最好的是

https://blogs.msdn.microsoft.com/nadeemis/2012/08/24/sharepoint-2013-search-rest-api/

https://msdn.microsoft.com/en-us/library/office/jj163876.aspx

但我对过滤结果不感兴趣,但根据结果获取过滤器列表。任何想法,链接?会非常有帮助的。

谢谢。

1 个答案:

答案 0 :(得分:0)

所以我找不到我想要的东西,但无论如何我已经足够接近了。所以这就是我所做的,我有一串由","分隔的过滤器。 (本来想要在没有明确指定过滤器的情况下获取过滤器,在我的例子中,过滤器是文档过滤器)

var _filters =" filter_A,filter_B,...&#34 ;;

我做了一个简单的ajax请求如下,因为我从不同的应用程序域请求我必须在我想要获取资源的应用程序中启用CORS(我已经配置了web.config文件以允许我的应用程序发出请求)

$.ajax({
    url: "https://requestedwebsite/_api/search/query?querytext=%27" + $("#filtervalue").val() + "%27&refiners=%27" + _filters + "%27",
    method: 'GET',
    beforeSend: function (XMLHttpRequest) {
        XMLHttpRequest.setRequestHeader("Accept", "application/json; odata=verbose");
    },
    xhrFields: { withCredentials: true },
    crossDomain: true,
    error: function (a, b, c) { },
    success: function (data) {
        var _object = data.d.query.PrimaryQueryResult.RefinementResults.Refiners;
        var results = _object.results; //--> array, process it 

        }
    }
});

您可以使用data.d对象查看您需要的内容。 $(" #filvalvalue")。val()只取输入类型=' text'的值。

希望它会帮助那些我自己必须处理这个名为sharepoint的混乱的人,并且不知道正在做什么是好的。