Получить двойные кавычки для запроса результата searchTerms в URL с Javascript - PullRequest
1 голос
/ 13 января 2020
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"'

Ответы [ 2 ]

1 голос
/ 13 января 2020

Вы можете использовать backsla sh \, чтобы убежать от своего персонажа

var test = " \" \" ";

console.log(test);
1 голос
/ 13 января 2020

Самый простой способ - сопоставить значения с новыми значениями, прежде чем вводить их в запрос. Но сначала вам нужно разделить строку на отдельные термины ...

let terms = st.split(' ');

, которые будут возвращать массив отдельных элементов строки, разделенных пробелом, затем вы можете обрезать и добавить term ...

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 + '"';
});

Может возникнуть необходимость проверить условие term перед применением map, это действительно зависит от того, что вы делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...