【问题标题】:Rest/_api Sharepoint 2013 get list of filters (refiners)Rest/_api Sharepoint 2013 获取过滤器列表(精炼器)
【发布时间】:2017-03-01 18:38:46
【问题描述】:

大家好,我一直在寻找 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

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

谢谢。

【问题讨论】:

    标签: .net sharepoint sharepoint-2013


    【解决方案1】:

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

    var _filters = "filter_A,filter_B,...";

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

    $.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 对象查看您需要的内容。 $("#filtervalue").val() 只是从输入中获取值 type='text'

    希望它能帮助像我一样必须处理这种称为 sharepoint 的混乱并且不知道正在做的事情是否正常的人。

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 2018-06-12
      • 1970-01-01
      • 2014-08-16
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多