<a>标签地址栏跳转带中文参数,地址栏中文怎么没有被编码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<a>标签地址栏跳转带中文参数,地址栏中文怎么没有被编码?相关的知识,希望对你有一定的参考价值。

<a href="test.php?value=中文">点击</a>
点击跳转的时候地址栏的中文没有被编码?

1.有些浏览器的是没有解析的 如果想要解析的话可以用php url_encode();
2.地址中最好不要用中文 (乱码)
参考技术A 这个问题就随他去吧,只要不妨碍浏览不就行了么 参考技术B 不要用中文哦,亲 参考技术C 亲,有些浏览器会编码,比如谷歌浏览器,像IE就不会追问

我用的就是谷歌。

参考技术D 有的浏览器自动把汉字给转换了

window.location.href跳转带中文参数

获取跳转路径中的参数,传参就是获取指定参数,不传参就是获取全部参数

为了保险起见,建议 参数使用encodeURI()加密,使用的时候使用decodeURI()解密

function getRequestParam(param)
    {
        //获取当前的地址
        var url = window.location.href;
         //找到参数开始的位置
        var startPos = url.indexOf("?");

        if(startPos < 0)
        {
            return {};
        };
        ///把参数给分开,这个paramString是一个参数数组
        var paramString = url.substring(startPos + 1, url.length).split("&");

        ///定义个paramsObj对象
        var paramsObj = {};

        for (var i=0; j = paramString[i]; i++)
        {
            paramsObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);

            ///初始化paramsObj对象,这个对象类似于Map对象,其中name为参数的名字,值为参数的值
        };

        if(typeof param === ‘undefined‘)//如果没有输入任何参数,那么直接返回paramsObj对象
            return paramsObj;

        var value = paramsObj[param.toLowerCase()];//获取参数param代表的值

        f(typeof value ==="undefined")///如果值为空的话,返回空字符串
            return "";
        else
            return value;///否则返回其代表的值
        };

以上是关于<a>标签地址栏跳转带中文参数,地址栏中文怎么没有被编码?的主要内容,如果未能解决你的问题,请参考以下文章

window.location.href跳转带中文参数

Mui-自定义事件跳转带参数

AngularJS实现地址栏取值

mui tab bar 底部导航栏跳转页面。不用pluseady 因为不支持

element-ui使用导航栏跳转路由用法

带搜索栏跳转的导航控制器