我传递的变量是真的url,而空格被替换为" +"或"%20"由浏览器自动。重定向页面后,我想正确地拆分这个单词。
前: - http://localhost:8008/Login.aspx?stid=Are你快乐
加载登录页面后自动转换,
http://localhost:8008/Login.aspx?stid=Are+You+Happy
或
http://localhost:8008/Login.aspx?stid=Are%20You%20Happy
如何在加载页面后获得此stid变量
你快乐吗
有没有办法使用javascript或jquery?
当我发送参数
时,我想要相同的结果http://localhost:8008/Login.aspx?stid=Are+You+Happy
我想要的结果也应该跟随。
为+你+快乐
这两个功能都可以通过javascript或jquery完成吗?
答案 0 :(得分:4)
//decode function
function decode(encodedStr) {
return decodeURIComponent(encodedStr.replace(/\+/g, " "));
}
//encode function
function encode(unencoded ) {
return encodeURIComponent(unencoded).replace(/'/g,"%27").replace(/"/g,"%22");
}
var myObject = {
stid: 'You are happy',
b: [ 1, 2, 3 ],
.......
};
var recursiveEncoded = $.param( myObject );
var recursiveDecoded = decodeURIComponent( $.param( myObject ) );
alert( recursiveEncoded );
alert( recursiveDecoded );
答案 1 :(得分:2)
这应该可以解决问题
var url = "http://localhost:8008/Login.aspx?stid=Are%20You%20Happy",
decoded_url = decodeURIComponent(url.replace(/\+/g, " "));
alert(decoded_url.split('stid=')[1]);