javascript - 使用 Javascript 在 URL 中获取 searchTerms 结果查询的双引号

标签 javascript jquery

var searchTerms = escape(jQuery('input#q').val());
var st = searchTerms.trim();
var res = st.replaceAll("TITLE","ti").replaceAll("%20","%20and%20").replaceAll("AUTHOR","au");

我有上面的代码,需要双引号中的搜索词值作为结果 它给出的结果 URL 为:'&query=heartmate%20and%20owens'

但我需要它:'&query="heartmate"%20and%20"owens"'

最佳答案

最简单的方法是在将值注入(inject)请求之前将它们映射到新值。但首先您需要将字符串拆分为单独的术语...

let terms = st.split(' ');

这将返回字符串的各个元素的数组,以空格字符分割, 然后您可以 trim 并附加该术语...

terms.map(term => { 
  term.trim(); // <-- this removes all of the whitespace characters, including 
               // space, tab, no-break space, and all the line terminator 
               // characters, including LF, CR, etc. from the beginning and end 
               // of the string
  return '"' + term + '"';
});

您可能会发现在应用map之前需要检查term的条件,这实际上取决于您正在做什么。

关于javascript - 使用 Javascript 在 URL 中获取 searchTerms 结果查询的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59720903/

相关文章:

javascript - 在 CSS 中使用设备宽度? JS 的可能性?

javascript - Angular JS 服务正确设置变量 Javascript undefined

javascript - 在 jQuery datepicker 中分配从 mysql 获取的日期

javascript - 如何通过传递 onclick 事件的引用来访问另一个函数中的 $(this).val() ?

jquery - 如何使用 jQuery 根据 id 对 div 进行排序?

javascript - 如何从 document.querySelectorAll() 正确循环遍历 NodeList?

javascript - 在类(class)中选择类(class)

javascript - 如何仅在用户第一次滚动到某个元素时运行自定义函数?

javascript - 如何使用 jquery 将无序列表转换为样式精美的 <select> 下拉列表?

javascript - 道场 : How to make PUT request on jsonRest store with callback method