2016-07-14 85 views
0

我有一個樣品的網址如下圖所示如何閱讀,包括在這種情況下符號

var sampleurl = 'index.html?UUID=testuuid&tablenum=glow&glory&cust_id=53&minimum_order=0'; 

的tableNum中得到了價值爲值「煥發&榮耀」

但是當我閱讀本文,我只獲得價值作爲發光(&符後的值丟失)

請你讓我知道如何獲得價值'輝光&榮耀'

這是我的代碼

var sampleurl = 'index.html?UUID=23232311222&tablenum=table&seat&cust_id=53&minimum_order=0'; 

$(document).ready(function(){ 

var tablenumval = getParameterByName('tablenum'); 

alert(tablenumval); 

}); 


function getParameterByName(name) { 
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(sampleurl); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

這是我的小提琴

http://jsfiddle.net/Ag73M/16/

回答

2

的代碼是正確的,因爲tablenum值僅爲glow

參數中的URL使用&所以如果你想有&爲你的價值的一部分,你需要使用%26逃脫它分離,所以它必須是tablenum=glow%26glory

在您的網址glory將是一個帶有空白/未設定值的新參數。

總是使用encodeURIComponent轉義您的url中的值,如果您不使用JavaScript來編寫您的url,那麼您需要查找創建url的語言的等效函數。

+1

擺在另一種爲OP:如果你想* *表達鍵/值對'tableNum的= glow'其次是關鍵'沒有價值glory',你會怎麼做?你會做'tablenum = glow&glory',這就是URL當前所說的內容。 – apsillers

+0

我可以寫一個單獨的函數來實現這一點,我的意思是getParameterByNamefortablename() – Pawan

+0

@PreethiJain你應該糾正你的問題的來源,並修復網址。在代碼中創建解決方法總是一個壞主意,因爲在維護代碼時會遇到問題,並且可能會在未來引入更多問題。 –

0

試試這個:

var sampleurl = 'index.html?UUID=testuuid&tablenum=' + encodeURIComponent('glow&glory') + '&cust_id=53&minimum_order=0';