我正在从Sharepoint为api搜索查询生成复杂的字符串。我需要将双引号连接到字符串,并使用\字符将其转义。
if ($("#ddlPais option:selected").val() > 0) {
url+= "RefinableString03: \"" + $("#ddlPais option:selected").text() + "\" ,";
}
问题是Internet Explorer会使用\“在变量中生成字符串。由于我在对Sharepoint进行api搜索的AJAX请求中使用了字符串变量,因此查询失败。
我该怎么做才能使Internet Explorer不会更改变量中的“ by \”?
PD:这是一个Internet Explorer错误。我已经尝试过使用Chrome,并且转义符\“可以正常工作,并且在变量中仅保留了双引号。
谢谢。
您使用的是哪个版本的IE?我在IE 11 version 11.116.18362.0和转义字符works well中进行测试。您可以在IE中检查my demo code。
此外,您也可以不使用转义符。使用单引号将变量括起来,则可以直接在字符串中使用双引号。您可以检查以下代码作为解决方法:
var url = "";
if ($("#ddlPais option:selected").val() > 0) {
url += 'RefinableString03: "' + $("#ddlPais option:selected").text() + '" ,';
}
console.log(url);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="ddlPais">
<option value="1" selected="selected">valueX</option>
<option value="2">valueY</option>
</select>