• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Asp中使用JQuery的AJAX提交中文乱码解决方法

    客户端页:client.html

    复制代码 代码如下:

    script>
        //jquery的post
        $.post
        (
            'server.asp',
            {
                Act:'DoSubmit',
                UserName:escape('脚本之家'),//进行编码
               WebSite:'www.jb51.net'
            },
            function(data)
            {
                alert(unescape(data));//对返回数据进行解码
            }
        );   
    /script>

    服务器端页:server.asp

    复制代码 代码如下:

    %
    Response.Charset="gb2312"
    Dim UserName,WebSite
    If Request.Form("Act")="DoSubmit" Then
    UserName=Request.Form("UserName")
    WebSite =Request.Form("WebSite")
     
    '在服务器端解码
    UserName=VbsUnEscape(UserName)//解码
     
    '处理数据
    '---省略数据处理部分
     
    '数据处理后输出,先用VbsEscape()编码
    Response.Write VbsEscape(UserName)
    End If
    %>
     
     
    %
    '与javascript中的escape()等效
    Function VbsEscape(str)
        dim i,s,c,a
        s=""
        For i=1 to Len(str)
            c=Mid(str,i,1)
            a=ASCW(c)
            If (a>=48 and a =57) or (a>=65 and a =90) or (a>=97 and a =122) Then
                s = s c
            ElseIf InStr("@*_+-./",c)>0 Then
                s = s c
            ElseIf a>0 and alt;16 Then
                s = s "%0" Hex(a)
            ElseIf a>=16 and alt;256 Then
                s = s "%" Hex(a)
            Else
                s = s "%u" Hex(a)
            End If
        Next
        VbsEscape=s
    End Function
    '与javascript中的unescape()等效
    Function VbsUnEscape(str)
                    Dim x
        x=InStr(str,"%")
        Do While x>0
            VbsUnEscape=VbsUnEscapeMid(str,1,x-1)
            If LCase(Mid(str,x+1,1))="u" Then
                VbsUnEscape=VbsUnEscapeChrW(CLng("H"Mid(str,x+2,4)))
                str=Mid(str,x+6)
            Else
                VbsUnEscape=VbsUnEscapeChr(CLng("H"Mid(str,x+1,2)))
                str=Mid(str,x+3)
            End If
            x=InStr(str,"%")
        Loop
        VbsUnEscape=VbsUnEscapestr
    End Function
    %>

    在javascript 中escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

    可以使用 unescape() 对 escape() 编码的字符串进行解码。

    其实Asp中这两个函数也是起作用的,居然很多asp网站上没有进行介绍。

    要不然只能像上面那样写函数进行解码编码了。复杂且性能不好。

    上面的服务器端页:server.asp可以写成:

    Asp中的unescape() 与 escape() 函数

    复制代码 代码如下:

    %
    Response.Charset="gb2312"
    Dim UserName,WebSite
    If Request.Form("Act")="DoSubmit" Then
    UserName=Request.Form("UserName")
    WebSite =Request.Form("WebSite")
     
    '在服务器端解码
    UserName=UnEscape(UserName)//解码
     
    '处理数据
    '---省略数据处理部分
     
    '数据处理后输出,先用VbsEscape()编码
    Response.Write Escape(UserName)
    End If
    %>

    这样就简单多了。

    您可能感兴趣的文章:
    • JQuery中Ajax的Post提交在IE下中文乱码的解决方法
    • jquery.ajax的url中传递中文乱码问题的解决方法
    • jquery的ajax()函数传值中文乱码解决方法介绍
    • JQuery ajax 返回json时出现中文乱码该如何解决
    • 如何解决JQuery ajaxSubmit提交中文乱码
    • JQuery AJAX 中文乱码问题解决
    • JQuery AJAX提交中文乱码的解决方案
    • jQuery ajax方法传递中文时出现中文乱码的解决方法
    上一篇:Asp Conn.execute的参数与返回值总结
    下一篇:Asp实现的数据库连接池功能函数分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Asp中使用JQuery的AJAX提交中文乱码解决方法 Asp,中,使用,JQuery,的,AJAX,