url传参(所传的参数为数字,汉字。获取该参数为汉字乱码)

用字符串拼接

例如:信息页跳转详情页

ajax请求遍历数据,找到要点击的标签添加点击事件,onclick='transferEvent("+data[i].id+")',

传的值为汉字时:onclick='transferEvent(\""+data.data[i].patientName+"\")';

function transferEvent(id){

  location.href='details.html?id='+id+'#name='+name;

}

详情页获取参数id:

方法1:jsp页面 <input type='hidden' id='userId' value='<%=id%>' />

方法2:var url=window.location.href;

    var id=parseInt(url.split("?")[1].split("=")[1]);

    var name=decodeURI(url.split("#")[1].split("=")[1]);//测试用户@肛肠科   //获取到的汉字为乱码时用decodeURI

    var cename=name.split('@');

    cename[0];//测试用户;

    cename[1];//肛肠科;

split的详细用法:js中split字符串分割

 

在.js页面出现乱码,该文件保存为utf-8.

 

如:传的参数为时间:20180723,显示页面上时格式为:2018-07-23

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

substring() 方法返回的字符串包括 开始 处的字符,但不包括 结束 处的字符。

var url=window.location.href;
var time=parseInt(url.split("#")[1].split("=")[1]);
var orderDate=time.substring(0,4)+"-"+time.substring(4,6)+"-"+time.substring(6,8);

 

适应以下两种模式,来获取url参数值:

/User/vip_card_manager/useless/219/id/18
/User/vip_card_manager?useless=219&id=18
console.log(getQueryString("useless"));
function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    var q = window.location.pathname.substr(1).match(reg_rewrite);
    if(r != null){
        return unescape(r[2]);
    }else if(q != null){
        return unescape(q[2]);
    }else{
        return null;
    }
}

 

posted @ 2018-07-20 09:59  小凢  阅读(1903)  评论(0编辑  收藏  举报