url 中包含多层URL参数的编码解码处理

   

var  RETURN_URL1 ="http://localhost:8080/wx/page/page1.html?id=1233&name=你好"

url 参数  使用    encodeURIComponent/decodeURIComponent 编解码 url 使用 encodeURI/decodeURI 编解码

 

RETURN_URL1 = encodeURIComponent(RETURN_URL1 );

 

var url1 ="http://localhost:8080/wx/view1.html?id=1344&name=沃恩&RETURN_URL1="+RETURN_URL1

url1 encodeURI(url1);

location.href=url1 ;

 

跳转到view1.html   直接获取RETURN_URL1 参数  不需要解码处理

var  RETURN_URL1 = wx.getURLParam("RETURN_URL1",false);

var  id =wx.getURLParam("id",true);

var  name=wx.getURLParam("name",true);

 

var  RETURN_URL2 ="http://localhost:8080/wx/view1.html?id="+id+"&name="+name

RETURN_URL2 encodeURIComponent(RETURN_URL2 );

 

var url2 ="http://localhost:8080/wx/view2.html?id=2444&name=我的&RETURN_URL2="+RETURN_URL2+"&RETURN_URL1="+RETURN_URL1;

url2 = encodeURI(url2);

location.href=url2 ;

//返回:

第一层

var  RETURN_URL2 = wx.getURLParam("RETURN_URL2");  //经过 decodeURI 解码  中文乱码可以解决

var  RETURN _URL1=wx.getURLParam("RETURN_URL1",false); //未经过decodeURI解码

 

RETURN_URL2=decodeURIComponent(RETURN_URL2);

 

RETURN_URL2+="&RETURN_URL1="+encodeURIComponent(RETURN _URL1);

 

location.href=RETURN _URL2;

 

以此类推

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(前端)