• ajax 请求如何解决乱码


    今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题。

    如下代码:

    function UpdateFolderInfoByCustId(folderId, folderName, custId) {
        $.ajax({
            type: "Post",
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            url: "http://localhost/CRM/Ashx/HandKBSucessCustomer.ashx?Method=UpdateCustomerByCustId&folderId=" 
            + folderId + "&folderName=" + encodeURI(encodeURI(folderName)) + "&custId=" + custId,
            success: function (msg) {
                alert(msg);
            },
            error: function (error) {
                alert(error);
            }
        });
     }

    如上代码 如果只是传“&foderName=”+folderName 的话,汉字就会产生乱码,如果经过encodeURL 转换两次的话,汉字编码会变为类似

    “%e6%b5%8b%eb%af%95” 的格式。转换为这种格式之后,在获取的时候在转码,如下所示:

     public void UpdateCustomerByCustId()
            {
                int folderId = Convert.ToInt32(Request["folderId"]);
                string folderName = Request["folderName"];
                string folderName2 = Convert.ToString(System.Web.HttpUtility.UrlDecode(folderName));
                int custId = Convert.ToInt32(Request["custId"]);
                bool res = false;
                try
                {
                    res = CustomerBusiness.UpdateCustomerByCustId(folderId, folderName2, custId);
                }
                catch (Exception ex)
                {
                   throw;
                }
                Response.Write(res);
            }
        }
    }

    经此转换之后,即可获取到传输的汉字。

  • 相关阅读:
    新手入门:python的pip安装(二)
    新手入门:python的安装(一)
    python解释器和环境安装
    Python基础入门总结
    Python环境搭建教程(windows10)
    漏洞重温之sql注入(三)
    漏洞重温之sql注入(二)
    漏洞重温之sql注入(一)
    漏洞重温之文件上传(FUZZ)
    漏洞重温之文件上传(总结)
  • 原文地址:https://www.cnblogs.com/q101301/p/3658876.html
Copyright © 2020-2023  润新知