美文网首页
ajax的get形式 或 超链接下载 中文参数处理

ajax的get形式 或 超链接下载 中文参数处理

作者: 青玉_f18c | 来源:发表于2018-11-23 16:46 被阅读0次

    超链接 地址 中文参数,例如:
    http://ip:port/a.html?param=文件.zip //对应后台 @RequestParam 参数映射形式
    http://ip:port/a.html/文件.zip // 对应后台 rest风格的 @pathVariable 参数映射形式
    请求会报错,所以,传参的时候需要用方法 encodeURI() 编码一下。

    var a = '文件.zip';
    var param = encodeURI(a);
    var url = 'http://xxx.ssx.xx/a.html?param='+param;
    
    var a = document.createElement('a');
    a.href=url;
    a.download = filename;            
    a.click() //这样就可以成功了
    

    这样参数就可以传递过去

    @GetMapping("/save")
    public String save(@RequestParam param){
         String str = java.net.URLDecoder.decode(param,"UTF-8");//解码方式
         return "/index";
    }
    

    如果担心参数中有特殊字符,再用base64编码一次就好了,这样双重编码,可以解决参数传递中的,特殊字符中文报错问题。

    js base64编码,后台解码 用 java.util 包下的 Base64 类即可

    相关文章

      网友评论

          本文标题:ajax的get形式 或 超链接下载 中文参数处理

          本文链接:https://www.haomeiwen.com/subject/dgzkqqtx.html