2012-12-12 59 views
0

我使用代理來獲取必應搜索結果,基於某些輸入的值。如何將空間與網址相關聯

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

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

它的工作原理很好,除了在多個單詞,空間分隔的情況下,例如這是不行的:「出售汽車」因爲我們這裏有3個字,他們需要在URL與被分隔無論是「+」或「%20」 所以實際的URL看起來像這樣:

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

所以我如何才能當它涉及到空間的輸入值VAR URL區別?

PS查詢不一定要在輸入時,它也可以是純文本中一些DIV

回答

2

使用encodeURIComponent。這是「我想添加用戶輸入到URI」問題的一般解決方案。

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

這將處理您的具體問題以及輸入的數據包含&字符等問題。

+0

Oke即將與這個一起工作,就像一個魅力,謝謝:) – Youss

+0

或var url = encodeURI('http://www.bing.com/search?q='+ query +''); – Sunny

+1

@Sundeep - 不,*不會解決數據中存在的問題。它只處理根本不能在URI中的字符。我們在這裏插入一個URI組件,所以我們應該使用'encodeURIComponent'。 – Quentin

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

是這個合適嗎?你追加並用「+」替換空格

0

你有沒有考慮過用+替換空格?

var query = $('input').val(); 
var url = 'http://www.bing.com/search?q=' + query.replace(" ","+"); 
相關問題