gpt4 book ai didi

javascript - 获取可细化字符串的内部 id

转载 作者:行者123 更新时间:2023-12-03 00:50:28 25 4
gpt4 key购买 nike

我正在构建一个查询,它将用户重定向到包含相关查询信息的搜索页面。我的问题是我知道如何获取 refinablestring 的内部 id 的唯一方法是通过地址栏,我需要一种能够通过 JavaScript 获取内部 id 的方法。

当我说内部 ID 时,我的意思是:

名称:Refinablestring00

内部 ID:ǂǂ446f63756d656e7460547970652031

生成(解码)的查询:

/sites/example/pages/Search.aspx#Default={"k":"*","r": 
[{"n":"RefinableString00","t":
["\"ǂǂ4469736363706c696e652032\""],"o":"and","k":false,"m":null}]}

为了澄清,我希望能够获取内部 ID 并且我可以访问 JSOM/客户端。我有什么选择?

谢谢

最佳答案

这没有官方记录,但我们开始吧。我们来看看精炼过滤器是如何表示的:

{ 
"k": queryText, //search query
"r": [ //<- the list of refiners
{
"n": propertyName, //property value
"t": [token], //encoded property value (see below for a more details)
"o": "and", //(or,and) operators
"k": false,
"m": null
}
],
//another refiners go here..
"l": lcid //language
}

其中token表示编码属性值,可以如下生成:

var strToHex = function (value) {
var hex = unescape(encodeURIComponent(value))
.split('').map(function(v){
return v.charCodeAt(0).toString(16)
}).join('')
return hex;
};


//Usage
var propertyValue = "Jon Doe";
var token = "\"ǂǂ" + strToHex(propertyValue) + "\"";
console.log(token);

示例

以下示例演示如何生成搜索 URL,其中包括属性名称 DisplayAuthor 和值 Jon Doe 的精简器过滤器

function createRefiner(queryText,propertyName, propertyValue,lcid) {
lcid = lcid || 1033;
var strToHex = function (value) {
var hex = unescape(encodeURIComponent(value))
.split('').map(function(v){
return v.charCodeAt(0).toString(16)
}).join('')
return hex;
};
var token = "\"ǂǂ" + strToHex(propertyValue) + "\"";
return {
"k": queryText,
"r": [{ "n": propertyName, "t": [token], "o": "and", "k": false, "m": null }],
"l": lcid
};
}


//Usage
var refiner = createRefiner("*","DisplayAuthor","Jon Doe");
var queryGroupName = "Default";
var refinerFilter = queryGroupName + '=' + encodeURIComponent(JSON.stringify(refiner));
var pageUrl = "/_layouts/15/osssearchresults.aspx" + '#' + refinerFilter;
console.log(pageUrl);

关于javascript - 获取可细化字符串的内部 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53067083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com