0

我使用代理来获取 Bing 搜索结果,基于一些输入的值。

    var query =  $('input').val();

    var url = 'http://www.bing.com/search?q=' + query + '';
...rest of code...

它很好用,除非有多个单词用空格分隔,例如这不起作用:“cars for sale” 因为这里我们有 3 个单词,它们需要在 url 中用“+”或“分隔” %20" 所以实际的 url 看起来像这样:

http://www.bing.com/search?q=cars+for+sale+

那么,当涉及到输入值中的空格时,如何让 var url 进行区分呢?

ps 查询不一定非要在input中,也可以是某些div中的纯文本

4

3 回答 3

2

使用encodeURIComponent. 这是“我想将用户输入添加到 URI”问题的一般解决方案。

var url = 'http://www.bing.com/search?q=' + encodeURIComponent(query);

这将处理您的特定问题以及诸如输入的包含&字符的数据之类的问题。

于 2012-12-12T15:29:12.000 回答
1
var url = 'http://www.bing.com/search?q=' + query.replace(' ','+') + '';

这适合你吗?你用“+”附加和替换空格

于 2012-12-12T15:28:44.857 回答
0

您是否考虑过仅用 a 替换空格+

var query =  $('input').val();
var url = 'http://www.bing.com/search?q=' + query.replace(" ","+");
于 2012-12-12T15:29:03.400 回答