转义 javascript 中的特殊字符

Escape special characters in javascript

$.ajax({
  url: "/Search/GetMatchCount?idx=" + idx + "&q=" + escape(q) + "&filter=" + escape(filter) + "&fields=" + fields,
  success: function (data) {
    $("#tabprograms").html("Customer Programs (" + data + ")");
  }
});

我的搜索文本框中有一个字符串 "civic+governance"。

我想用 jquery/javascript 检索某个局部变量中文本框的值。我的代码是,

var q = document.getElementById('q').value;

我得到的 q 值是 "civic governance"。 '+' 符号似乎用 " " 编码。

我如何才能不将其编码为“”并保留我的字符串原样,即 "civic+governance"。

您的问题是您正在使用 ESCAPE(q)。 ESCAPE 无法对 + 字符进行编码,您需要使用 encodeURIComponent(q) 然后在 php 中使用 rawurldecode() 进行解码,或者您也可以将方法更改为 POST。