function search(){ var search_by = $('#search_by').val(); var keyword=$('#keyword').val(); $('#right').load('search.do?search_by=' + search_by + "&keyword=" + keyword); }
这种方式,jquery不对url的query参数进行utf8编码
function search(){ var search_by = $('#search_by').val(); var keyword=$('#keyword').val(); var data={'search_by' : search_by, 'keyword' : keyword}; $('#right').load('search.do",data); }
jquery会对data参数进行utf8编码
这种不一致的处理方式感觉很不爽,因为第二种是最常使用的方法,而第一种有时被迫使用(传递参数为带query的url,而query部分转化成json jquery没有提供方便的方法,自己parser出来,结果array to json依然没有方法存在,需要别的插件,比较郁闷,被迫都统一使用第一种方法)
传递带query的url。
function pagination(url){ $('#right').load(url); }
而两种方式混用则必然出现乱码。
当然如果你的应用程序都统一使用UTF-8编码,那么在Tomcat中配置URIEncoding来对url进行UTF-8编码,可以避免这个问题。