js在URL中传参中文出现乱码

9 篇文章 0 订阅
1 篇文章 0 订阅

最近用easyUI做一个下拉框,在输入某值后根据某值模糊查询:

$('#comboboxA').combobox({
   url:basePath+'form/formListForCombobox',
   method:'get',
            valueField:'formId',
          textField:'formDisplayName',
            panelHeight:200,
            multiple:false,
            keyHandler: {
  up: function (e) {               //【向上键】押下处理  
              },
              down: function (e) {             //【向下键】押下处理
              },
              enter: function (e) {             //【回车键】押下处理
               var inputText = $('#comboboxA').combobox('getText'); 
     var url = basePath+'form/searchFormList'+'?inputText='+ inputText;
     $('#comboboxA').combobox('reload',url);
     $('#comboboxA').combobox('setValue',inputText); 
    /*$.ajax({
       type:'post',
       url:basePath+'form/searchFormList',
       data:{'inputText':inputText},
       dataType:'json',
       success:function (formOptionList){
        console.log(formOptionList);        
       },
       error: function(result) {
        if(result != 'null' && result != ''){
        $.messager.alert("提示", "出现未知错误!");
        }
        }
   });*/
              },
              query: function (keyword) {     //【动态搜索】处理
              }
          }
});

其中的var url = basePath+'form/searchFormList'+'?inputText='+ inputText;

这一行用到了get方式传参(url后面直接跟参数为get方式,将参数放在data{"inputText":"inputText"}为post方式传参)。

而如果没有配置Servers\Tomcat v7.0 Server at localhost-config\server.xml的约64行:

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>则会出现中文乱码。



此乱码还有一种解决方案:

js中:var url = basePath+'form/searchFormList'+'?inputText='+ encodeURI(inputText,"UTF-8");

controller中: String inputTextVal = new String(inputText.getBytes("ISO-8859-1"),"UTF-8");

不过,第一种方法比较推荐,直接在配置里配置一下方便。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值