如何在不使用Internet Explorer修改字符串的情况下在字符串中使用双引号?

问题描述 投票:0回答:1

我正在从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,并且转义符\“可以正常工作,并且在变量中仅保留了双引号。

谢谢。

javascript string internet-explorer
1个回答
0
投票

您使用的是哪个版本的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>
© www.soinside.com 2019 - 2024. All rights reserved.