मैं इस jQuery urlencode और urldecode प्लगइन का उपयोग कर रहा हूं - बहुत सरल और उपयोग करने में आसान है, लेकिन यह अपने मूल रूप में नहीं है, स्ट्रिंग से +
हटा दें। होम पेज पर एक टिप्पणी एक पैच का सुझाव देती है लेकिन मुझे नहीं पता कि इसे कैसे कार्यान्वित किया जाए। क्या कोई मेरी मदद कर सकता है?jQuery urlencode/decode पैच मदद
पृष्ठ: http://www.digitalbart.com/jquery-and-urlencode/
//URL Encode/Decode
$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();
var r=/(^[a-zA-Z0-9_.]*)/;
while(x<c.length){var m=r.exec(c.substr(x));
if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
}else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){
b=parseInt(m[1].substr(1),16);
t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});
प्रस्तावित पैच:
function dummy_url_decode(url) {
// fixed -- + char decodes to space char
var o = url;
var binVal, t, b;
var r = /(%[^%]{2}|\+)/;
while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
if (m[1] == '+') {
t = ' ';
} else {
b = parseInt(m[1].substr(1), 16);
t = String.fromCharCode(b);
}
o = o.replace(m[1], t);
}
return o;
}
धन्यवाद!
यह 'encodeURIComponent()' से अलग कैसे है? – jholster