location.href传值带中文参数的该怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了location.href传值带中文参数的该怎么处理相关的知识,希望对你有一定的参考价值。

一般可以直接使用中文,也可以编码,编码可以使用javascript的escape函数。追问

可是如果使用中文会乱码,感觉这样很不正规

参考技术A 用javascript中自带的escape方法直接编码一下。例如:location.href=/a/b.html?c=escape('中国');

HTML页面之间跳转与传值(JS代码)

跳转的方法如下:
方法一:
window.location.href = "b.html";
方法二(返回上一个页面,这个应该不算,先放在这):
window.history.back(-1);
方法三:
self.location = "b.html";
方法四:
top.location = "b.html";
有关问题的思考:
第一,为什么给window.location和window.location.href赋值时一样的,都可以跳转?
思考:
location 是 location.href 的簡寫,無論是訪問  還是賦值。
從功能上,location 等於 location.href;
但從本體論上,location 是一個對象,location.href 是它的一個屬性。
這種怪異的行爲應該是爲了兼容無疑
第二,给location赋值的时候,如果跳转的页面不是在同一个目录下,需要把完整的URL写上。如:当前location.href为https://www.google.com/ ,如果要跳转到https://www.baidu.com/, 就不能只是www.baidu.com,必须把URL写完整。
传值的方法如下:
方法一:URL传参(?后面的参数)(去哪儿网笔试题,把URL后面的参数解析为对象)
window.location.href = "https://www.google.com/search?q=hello&oq=hello"
function parseURL(url){
    var url = url.split("?")[1];
    var para = url.split("&");
    var len = para.length;
    var res = {};
    var arr = [];
    for(var i=0;i<len;i++){
        arr = para.split("=");
        res[arr[0]] = arr[1];
    }
    return res;
}
方法二:cookie传参
function setCookie(cname,cvalue,exdays){
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname){
    var name = cname + "=";
    var ca = document.cookie.split(";");
    for(var i=0;i<ca.length;i++){
        var c = ca[i];
        while(c.charAt(0)==‘ ‘){
            c = c.substring(1); 
        }
        if(c.indexof(cname) == 0){
            return c.substring(name.length,c.length);
        }
    }
    return "";
}
方法三:H5中Web Storage中的localStorage对象

localStorage.setItem("lastname","lu");
或者
localStorage.lastname = "lu";

localStorage.getItem("lastname");
或者
localStorage.lastname;

以上是关于location.href传值带中文参数的该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

JS中location.href传值问题

SSM框架这里怎么带值返回到jsp,我想把返回值带回去

怎么禁止iframe父页面刷新页面

各种传值方式

window.location.href后面带参数怎么加

jsp中button怎么传值