最近在項目中使用jQuery.query.js這個插件進行頁面間URL傳值,遇到如下兩點問題: 1. 參數中存在空格時取到的值中空格被替換為加號:+ 2. 當參數某個key的value不存在時,獲取到的value並不是空/null 而是true。 在網上找到了個解決方案,可以參考下(是否有其他副作用 ...
最近在項目中使用jQuery.query.js這個插件進行頁面間URL傳值,遇到如下兩點問題:
1. 參數中存在空格時取到的值中空格被替換為加號:+
2. 當參數某個key的value不存在時,獲取到的value並不是空/null 而是true。
在網上找到了個解決方案,可以參考下(是否有其他副作用暫時未實驗出)
1. 空格變加號+
在jQuery.query.js文件中找到下麵代碼
1 2 3 4 5 6 7 |
toString: function () {
var i = 0, queryString = [], chunks = [], self = this ;
var encode = function (str) {
str = str + "" ;
//if ($spaces) str = str.replace(/ /g, "+");
return encodeURIComponent(str);
};
|
註釋掉 if ($spaces) str = str.replace(/ /g, "+"); 那一行即可
2. value為空的情況
1 2 3 4 5 6 7 8 9 10 11 |
get: function (key)
{
var target = this .GET(key);
if ( typeof (target) == 'boolean' )
return '' ;
if (is(target, Object))
return jQuery.extend( true , {}, target);
else if (is(target, Array))
return target.slice(0);
return target;
},
|
1 |
<br>
|
1 |
<div>加入 </div><p> if ( typeof (target) == 'boolean' ) </p><p> return '' ; 即可 </p>
|