萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> ajax請求亂碼的解決方法

ajax請求亂碼的解決方法

這篇文章主要介紹了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);

        }

    }

}

 

 

經此轉換之後,即可獲取到傳輸的漢字

copyright © 萬盛學電腦網 all rights reserved