源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-02-14 12:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Asp中使用JQuery的AJAX提交中文乱码解决方法
[b]客户端页:client.html [/b]
[u]复制代码[/u] 代码如下:
<script>     //jquery的post     $.post     (         'server.asp',         {             Act:'DoSubmit',             UserName:escape('编程素材网'),//进行编码            WebSite:'www.1sucai.cn'         },         function(data)         {             alert(unescape(data));//对返回数据进行解码         }     );    </script>
[b]服务器端页:server.asp [/b]
[u]复制代码[/u] 代码如下:
< % 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 a<16 Then             s = s & "%0" & Hex(a)         ElseIf a>=16 and a<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=VbsUnEscape&Mid(str,1,x-1)         If LCase(Mid(str,x+1,1))="u" Then             VbsUnEscape=VbsUnEscape&ChrW(CLng("&H"&Mid(str,x+2,4)))             str=Mid(str,x+6)         Else             VbsUnEscape=VbsUnEscape&Chr(CLng("&H"&Mid(str,x+1,2)))             str=Mid(str,x+3)         End If         x=InStr(str,"%")     Loop     VbsUnEscape=VbsUnEscape&str End Function %>
在javascript 中escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 可以使用 unescape() 对 escape() 编码的字符串进行解码。 其实Asp中这两个函数也是起作用的,居然很多asp网站上没有进行介绍。 要不然只能像上面那样写函数进行解码编码了。复杂且性能不好。 上面的服务器端页:server.asp可以写成: Asp中的unescape() 与 escape() 函数
[u]复制代码[/u] 代码如下:
< % 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 %>
这样就简单多了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部