防止中文乱码:前端两次encodeURI加码 后端两次URLDecoder.decode(itemName,”UTF-8”)解码
js代码
function getdepartment() {
//获取下拉框主键
var itemName=encodeURI(encodeURI($("#plane").find('option:selected').val()));
$("#department").empty(); //清空二级目录
var _controllerPath = window.location.href.split("?")[0];
_controllerPath = _controllerPath.substring(0, _controllerPath.lastIndexOf("/") + 1);
var url = _controllerPath +"ts?itemName="
url=url+itemName;
var classNext=$("#department");
$.ajax({
type : "post",
contentType : "application/json;charset=utf-8",
url : url,
success : function(data) {
data = JSON.parse(data).data;
if (data.length != ""
&& data.length != null) {
for (var i = 0; i < data.length; i++) {
classNext.append("<option value="+data[i].itemName+">"
+ data[i].itemName
+ "</option>");
}
} else {
classNext
.append("<option value="+itemName+">---暂无数据,请添加---</option>");
}
}
});
}
controller层代码
itemName1=URLDecoder.decode(URLDecoder.decode(itemName,"UTF-8"),"UTF-8");
return ReturnCode.getSuccResponse().setData(orgdataService.selectlinkage(itemName1));
xml文件:
<select id="selectlinkage" parameterType="java.lang.String"
resultType="com.deep.web.func.entity.OrgData">
select a.itemName from
<include refid="table_name" /> a
<where>
a.parentId=(select t.id from
<include refid="table_name" /> t
where t.itemName=#{itemName}
)
</where>
</select>