send过去为什么空格都被去掉了?

遇到一个很奇怪的现象,不得其解。
有两个页面,a.htm是发送数据并且马上显示返回的数据,b.asp用来接收数据并返回xml数据。可是返回的值跟传过去的不一样啊(空格都没了)?这是为啥?有什么办法吗?(不能用数据岛的办法)

a.htm:

 1<script language="vbscript">   
 2'这个函数用于将字串unicode编码   
 3Function URLEncoding(vstrIn)   
 4strReturn = ""   
 5For i = 1 To Len(vstrIn)   
 6ThisChr = Mid(vStrIn,i,1)   
 7If Abs(Asc(ThisChr)) < &HFF Then   
 8strReturn = strReturn & ThisChr   
 9Else   
10innerCode = Asc(ThisChr)   
11If innerCode < 0 Then   
12innerCode = innerCode + &H10000   
13End If   
14Hight8 = (innerCode And &HFF00)\ &HFF   
15Low8 = innerCode And &HFF   
16strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)   
17End If   
18Next   
19URLEncoding = strReturn   
20End Function   
21</script>
 1<script language="javascript">   
 2var sS="M=1 2&N=2 2"   
 3sS=URLEncoding(sS)   
 4var oSend=new ActiveXObject("Microsoft.XMLHTTP");   
 5oSend.open("POST","b.asp",false);   
 6oSend.setRequestHeader("Content-Length",sS.length);   
 7oSend.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");   
 8oSend.send(sS);   
 9  
10var oDom=new ActiveXObject("Microsoft.XMLDOM");   
11oDom.async=false;   
12body=oSend.responseXML.xml;   
13alert(body) //就是这里了,得到的xml会是<M>12</M><N>22</N>   
14//但是我传过去的是M=1 2 N=2 2 呀(有空格)   
15</script>

b.asp:

1Response.ContentType="text/xml"   
2M=Request.Form ("M")   
3N=request.form("N")   
1<msg>
2<m>```
3=M
4```</m>
5<n>```
6=N
7```</n>
8</msg>

----------------------------------------
加个escape转化为unicode就可以了

var m = escape("1 2")
var n = escape("2 2")
var sS="M="+m+"&N="+n

Published At
Categories with Web编程
comments powered by Disqus