javascript 转URL传中文参数乱码问题解决办法

Javascript 部份:

  <script type="text/javascript">      

 function scriptUpdate(controlid) {
            try {
                var myxmlhttp = false;
                if (window.XMLHttpRequest) {
                    myxmlhttp = new XMLHttpRequest();
                } else {
                    myxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                myxmlhttp.onreadystatechange = function() {
                    if (myxmlhttp.readyState < 4) {
                        //document.getElementById("myDiv").innerHTML = "数据读取中....";
                    }

                    if (myxmlhttp.readyState == 4 && myxmlhttp.status == 200) {
                        //document.getElementById("myDiv").innerHTML = myxmlhttp.responseText;
                    }
                }
                var str = controlid.id.replace("etxt", "").replace("eres", "");
                var txt_Description = document.getElementById("etxt" + str).value;
                var txt_Remarks = document.getElementById("eres" + str).value;              
                myxmlhttp.open("Get", "Default2.aspx?Remarks=" + encodeURIComponent(txt_Remarks) + "&Description=" + encodeURIComponent(txt_Description) + "&key=" + str + "&isNaM=" + Math.random(), true);
                myxmlhttp.send();
            } catch (e) {
                alert("Ajax错误!")
            }
        }   

    </script>

后台代码部份:

 protected void Page_Load(object sender, EventArgs e)
    {     

        if (!IsPostBack)
        {
            if (string.IsNullOrEmpty(Request["key"]))
            {
                SetTree(0);
            }
        }
        if (!string.IsNullOrEmpty(Request["Description"]) && !string.IsNullOrEmpty(Request["key"]))
        {
            var n = from x in DataContext.DirectoryTrees where x.ID == Convert.ToInt32(Request["key"]) select x;
            foreach (var j in n)
            {
                j.ModifyBy ="000";
                j.ModifyDate = System.DateTime.Now;
                j.Remarks =string.IsNullOrEmpty(Request["Remarks"])?"":Server.UrlDecode(Convert.ToString(Request["Remarks"]));
                j.Description = string.IsNullOrEmpty(Request["Description"]) ? "" : Server.UrlDecode(Convert.ToString(Request["Description"]));  
               
            }
            DataContext.SubmitChanges();
        }
    }

 

 

 

 

1/注意红色字部份,在Javascript中使用了encodeURIComponent()进行编码转换

2/其它后台不用使用Server.UrlDecode()解码也不会乱码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那小x的传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值