查询条件使用js跳转url,在传递中文参数的使用到了encodeURI,搜索后发现后台数据查不出来
debug后发现SQL查询在where条件中有个参数值是undefined
回到js去排查错误,发现alert(XXX)出现undefined
刚开始在js加了个简单的判断
var XXX = $("#XXX").val()=="undefined"?"":encodeURI($("XXX").val());
结果还是传递undefined,最后发现
alert($("#XXX"));//对象存在 输出obj
alert($("#XXX").val());//为null
alert(encodeURI("#XXX").val()));//输出undefined
undefined字符串值是出现在encodeURI转换null之后的,因此判断因改为:
var XXX = $("#XXX").val()==null?"":encodeURI($("XXX").val());