jQuery.query.js 取參數(shù)的兩點(diǎn)問題分析
更新時(shí)間:2012年08月06日 21:39:35 作者:
最近在項(xiàng)目中使用jQuery.query.js這個(gè)插件進(jìn)行頁面間URL傳值,遇到如下兩點(diǎn)問題
1. 參數(shù)中存在空格時(shí)取到的值中空格被替換為加號(hào):+
2. 當(dāng)參數(shù)某個(gè)key的value不存在時(shí),獲取到的value并不是空/null 而是true。
在網(wǎng)上找到了個(gè)解決方案,可以參考下(是否有其他副作用暫時(shí)未實(shí)驗(yàn)出)
1. 空格變加號(hào)+
在jQuery.query.js文件中找到下面代碼
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為空的情況
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;
},
加入if (typeof (target) == 'boolean')return '';
2. 當(dāng)參數(shù)某個(gè)key的value不存在時(shí),獲取到的value并不是空/null 而是true。
在網(wǎng)上找到了個(gè)解決方案,可以參考下(是否有其他副作用暫時(shí)未實(shí)驗(yàn)出)
1. 空格變加號(hào)+
在jQuery.query.js文件中找到下面代碼
復(fù)制代碼 代碼如下:
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為空的情況
復(fù)制代碼 代碼如下:
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;
},
加入if (typeof (target) == 'boolean')return '';
相關(guān)文章
基于Jquery的動(dòng)態(tài)創(chuàng)建DOM元素的代碼
jquery動(dòng)態(tài)創(chuàng)建頁面元素,mark一下,以備以后查詢時(shí)使用。以創(chuàng)建div和input為例。2010-12-12
jquery input checked全選與反選1.3.2的版本
jquery 全選與反選1.3.2的版本2009-05-05
jquery ajax 登錄驗(yàn)證實(shí)現(xiàn)代碼
ajax 登錄驗(yàn)證實(shí)現(xiàn)代碼,這里用到了jquery,當(dāng)然如果不想用,可以參考腳本之前發(fā)布的文章。2009-09-09
jQuery UI Dialog控件中的表單無法正常提交的解決方法
研究了頁面源碼后發(fā)現(xiàn),jQuery UI Dialog控件初始化時(shí)動(dòng)態(tài)生成的HTML元素被添加到頁面的尾部、form元素的后面,而原始的Dialog模板部分(其內(nèi)包含表單元素)也被移到了 動(dòng)態(tài)生成的HTML元素內(nèi)。2010-12-12
用jQuery將JavaScript對(duì)象轉(zhuǎn)換為querystring查詢字符串的方法
這篇文章主要介紹了用jQuery將JavaScript對(duì)象轉(zhuǎn)換為querystring查詢字符串的方法,本文給大家分享兩種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
2018-11-11
通過jQuery源碼學(xué)習(xí)javascript(二)
昨天寫了篇通過jQuery源碼學(xué)習(xí)javascript(一),里面有一個(gè)定義對(duì)象C的方法,我早期也沒有太注意這個(gè)方面的技術(shù)細(xì)節(jié)。后來我查了一下資料,發(fā)現(xiàn)里面有很多巧的地方。今天與大家分享
2012-12-12
根據(jù)Bootstrap Paginator改寫的js分頁插件
本文主要對(duì)根據(jù)Bootstrap Paginator改寫的js插件進(jìn)行詳細(xì)介紹,具有很好的參考價(jià)值,需要的朋友一起來看下吧
2016-12-12 
