zoukankan      html  css  js  c++  java
  • 通过url方式传递中文参数时出现的中文乱码问题的处理

    1.通过url将参数【会有中文的情况】传递到另外一个页面:

      

    window.location.href = "/XXXX/XXXX?searchcontent=" + Content + "";【数据会自动被编码】
    

      

    2.从另外页面通过参数形式获取到中文参数,然后传递到对应api进行处理查询。

    //获取url中的参数
    function getUrlParam(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
        var r = window.location.search.substr(1).match(reg); //匹配目标参数
        if (r != null) return unescape(r[2]); return null; //返回参数值
    }
    
    var searchContent =escape( getUrlParam("searchcontent"));【对参数进行一次解码】
    
     $.ajax({
            type: "Post",
            url: XXXX,
            dataType: 'json',
            data: { SearchContent: searchContent },
            success: function (result) {
    
             //成功后的处理方法
    
    
            },
            error: function (xhr, type) {
                
                console.log("Ajax error");
       
            }
        });
    

      

    3.后台获取数据进行解码,进行其他处理

     var EnCodeResult = HttpContext.Current.Request["SearchContent"].ToString();
     var SearchContent = HttpContext.Current.Server.UrlDecode(EnCodeResult);【对参数进行一次解码】
    //然后进行其他处理

      

  • 相关阅读:
    Linux学习笔记(二)
    Linux学习笔记(三)
    C++学习笔记一
    汇编总结
    Linux学习笔记(一)
    编辑距离算法
    Linux学习笔记(四)
    Linux学习笔记五
    extjs model的dirty属性能够查询store中某一个行是否改变过
    Ext.grid.Panel一定要有renderTo或autoRender属性,不然页面为空
  • 原文地址:https://www.cnblogs.com/pressforward/p/7810448.html
Copyright © 2011-2022 走看看