函数返回值
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)