为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英4014372 2021-11-12 18:26:24
我正在为来自 Sharepoint 的 api 搜索查询生成一个复杂的字符串。我需要将双引号连接到字符串并使用 \ 字符来转义它们。if ($("#ddlPais option:selected").val() > 0) {  url+= "RefinableString03: \"" + $("#ddlPais option:selected").text() + "\" ,";} 问题是 Internet Explorer 使用 \" 在变量中生成字符串。由于我在 AJAX 请求中使用字符串变量对 Sharepoint 进行 api 搜索,因此查询失败。我该怎么做才能使 Internet Explorer 不更改变量中的“ by \”?PD:这是一个 Internet Explorer 的错误。我试过 Chrome 和转义字符 \" 工作正常,并且在变量中只留下双引号。
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

我已经找到了解决我的问题的方法。为了在进行 ajax 调用之前解决它,我执行了 encodeURIComponent 函数,该函数对 ajax 请求的整个 url 进行编码,从而避免了导致我出现双引号的问题。我发布它以防有人有类似的问题。


查看完整回答
反对 回复 2021-11-12
?
呼如林

TA贡献1798条经验 获得超3个赞

你用的是什么版本的IE?我在IE 11 版本11.116.18362.0 中进行了测试,转义字符运行良好。您可以在 IE 中查看我的演示代码。


此外,您可以在没有转义字符的情况下执行此操作。使用单引号将变量括起来,然后您可以直接在字符串中使用双引号。您可以检查以下代码作为解决方法:


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>


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信