1. 程式人生 > >JSP encodeURI() 函式

JSP encodeURI() 函式

函式返回值

URIstring 的副本,其中的某些字元將被十六進位制的轉義序列進行替換。

說明

該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ’ ( ) 。

該方法的目的是對 URI 進行完整的編碼,因此對以下在 URI 中具有特殊含義的 ASCII 標點符號,encodeURI() 函式是不會進行轉義的:;/??&=+$,#

個人應用:

$("#showLocationBtn").click( function() { var getID = getSelectDeviceID(); $.ajax({ cache : true, type : “POST”, data : {“listDeviceID” : getID}, url : “<%=path%>/getLatitudeAndLongitudeByID.action”, async : false, error :function(request) { }, success : function(data) { var tan = layer.open({ type:2, title:‘位置:’, //shade:[0], //maxmin:true,//開啟最大化最小化按鈕 area:[‘100%’,‘100%’], content:‘map/local.do?localData=’+encodeURI(data) }) } }); } );

通過傳入裝置id 獲取裝置的經緯度等資訊,再次呼叫遮罩層的方法,將傳入經緯度等引數傳入,得到地圖相關資訊。 問題為:沒加encodeURI(data) 之前 傳入 data,如果引數有 雙引號,中括號等特殊符號,會對資料產生擷取等影響。

解決方式: content:‘map/local.do?localData=’+data 改成 content:‘map/local.do?localData=’+encodeURI(data)