zoukankan      html  css  js  c++  java
  • 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);
            }
        }
    }

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

  • 相关阅读:
    angular模板
    Growth: 全栈增长工程师指南
    全栈增长工程师实战
    vue 快速搭建项目 iview
    ng-style
    教程视频链接
    内置对象
    对象—封装、继承
    对象—构造函数
    函数-理论
  • 原文地址:https://www.cnblogs.com/q101301/p/3658876.html
Copyright © 2011-2022 走看看