• 2013年3月27日星期三


    今天又涉及到前后台传递数据用ajax或form提交表单两种方式问题;ajax用于局部刷新页面更新数据;传递参数时用通过URL进行;并且参数中若含有中文则应该通过encodeURIComponent或encodeURI进行转码否则会出现乱码;今天一开始通过encodeURI转码并且还把函数写在后台了,调试很久还总是乱码,后来发现问题;但函数执行后还是乱码;上网搜索说要两次转码后再解码,尝试还是不行;

    在网上搜到解决办法,但是不明白。解决办法如下:

    对需要传递的中文参数先进行两次转码:

    1.js文件中使用encodeURI()方法。
    var url = "Validate.jsp?id=" +encodeURI(encodeURI(idField.value));
    2.在后台中对传递的参数进行URLDecoder解码
    String username = URLDecoder.decode(request.getParameter("id"),"UTF-8");

    后来直接用encodeURIComponent转码;在后台不用解码一样可以取得正确结果,解码后也正确,后台能自动识别,目前还没深层次研究原因。

    今天才发现hibernate在映射组合主键表时要重新生成一个类,感觉这种方法真麻烦;当初在设计表结构时不该考虑用组合主键。

  • 相关阅读:
    Ajax
    Linux安装SmartSVN及破解
    JQuery异步提交
    动画效果
    事件
    表单选择器
    DOM操作
    JQuery基础
    PHP环境配置
    DP--钢条切割
  • 原文地址:https://www.cnblogs.com/doit8791/p/2985398.html
Copyright © 2020-2023  润新知