• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一句话解决AJAX中文乱码问题[推荐]
    POST TIME:2021-10-18 06:21
    下面是我的程序
    HTML : 
    复制代码 代码如下:


    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
    title>无标题页/title>
    script type="text/javascript" language="javascript">
    var xmlhttp;
    function createXMLHttprequest()
    {
    if(window.ActiveXObject)
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    }
    function inData()
    {
    var txtval=document.getElementById("txt").value;
    createXMLHttprequest();
    xmlhttp.open("GET","request.ashx?val="+txtval,true);
    xmlhttp.onreadystatechange=getData;
    xmlhttp.send(null);
    }
    function getData()
    {
    if(xmlhttp.readyState==4)
    {
    if(xmlhttp.status==200)
    {
    document.getElementById("showDT").innerHTML=xmlhttp.responseText;
    }
    }
    }
    /script>
    /head>
    body>
    form id="form1" action="">
    div>请输入姓名:
    input type="text" id="txt" />
    input type="button" value="提交" id="asdf" onclick="inData()" />
    span id="showDT" >/span>
    /div>
    /form>
    /body>
    /html>

    request.ashx :
    Code 
    复制代码 代码如下:

    %@ WebHandler Language="C#" Class="request" %>
    using System;
    using System.Web;
    public class request : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "text/plain";
    string tab ="来自服务器的信息:您好 "+context.Request.QueryString["val"].ToString()+" --by time:"+DateTime.Now.ToLongTimeString();
    context.Response.Write(tab);
    }
    public bool IsReusable {
    get {
    return false;
    }
    }
    }

    baidu搜了一大堆 大致意思是 AJAX提交数据时,使用的是UTF-8的编码 并且不可以设置为其他格式
    如何解决呢 最后发现一个JS的函数escape与unescape 用escape()对将要提交的汉字进行编码,会出现大致%10%20的字符,类似与.NET中Server.UrlEncode()与Server.UrlDecode();
    将JS获得的表单值进行重新编码
    Code
    复制代码 代码如下:

    var txtval=escape(document.getElementById("txt").value);
    OK, 问题解决!
    其他可能还有别的办法至今没遇到 希望这个办法能帮到遇到这种困境的朋友
    您可能感兴趣的文章:
    • ajax+php中文乱码解决办法
    • Javascript和Ajax中文乱码吐血版解决方案
    • JQuery AJAX提交中文乱码的解决方案
    • jquery的ajax()函数传值中文乱码解决方法介绍
    • JQuery AJAX 中文乱码问题解决
    • jquery.ajax的url中传递中文乱码问题的解决方法
    • JQuery中Ajax的Post提交在IE下中文乱码的解决方法
    • ajax获取数据中文乱码问题最简单的完美解决方案
    上一篇:rails制作rss feed代码
    下一篇:有史以来最简单的AJAX回调库
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信