php 兩次encodeURI,解決瀏覽器跳轉請求頁亂碼報錯找不到頁面的bug

Not Found

The requested URL /index.php/XXX/mid/97329240798095910/bname/3000T/D/sname/水泥粉磨/uname/1#水泥磨/oname/前滑履油站1.html was not found on this server.php

解決思路:html

get 提交 參數中 含有中文,  若是是PHP,那前端須要兩次 encodeURI,由於一次encodeURI還有一些字符不會被編碼前端

 

 1  onclick="showRecord(this)" href="{:U('OilAnalysis/monitorRecord',array('mid'=>$vo['oid'],'bname'=>$vo['bname'],'sname'=>$vo['sname'],'uname'=>$vo['uname'],'oname'=>$vo['oname']))}" 
 2 var showRecord=function(e){
 3     var hf=$(e).attr('href');
 4     var url=encodeURI(encodeURI(hf));
 5     // url=hf;
 6     location.href=url;
 7 }
 8 
 9 後臺php
10 $data['mid']=urldecode(urldecode(I('mid')));
11 $data['bname']=urldecode(urldecode(I('bname')));
相關文章
相關標籤/搜索