[size=1em][size=1em]Function Bytes2BStr(vin)'二进制转字串- Q- k" K, K$ E1 u' }% O0 U! b0 P9 M
[size=1em] strreturn = "" . s2 q5 E }4 }& `7 D6 K9 u[size=1em] for i = 1 to lenb(vin)5 L1 o. h! h% W+ W+ l
[size=1em] thischarcode = ascb(midb(vin,i,1))5 E) D3 [( Z7 M
[size=1em] if thischarcode < &h80 then6 ~* R5 c* o7 Q: ?+ c
[size=1em] strreturn = strreturn & chr(thischarcode) & F6 J P) }. X[size=1em] else ' @ y; v$ ?- c' b[size=1em] nextcharcode = ascb(midb(vin,i+1,1)) $ G' O ^9 l3 ^- W! o K) R6 Z[size=1em] strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode)) , s5 B% m5 n9 s. v) c: j# N[size=1em] i = i + 1 * B: U: v, A I[size=1em] end if 6 d7 s+ c2 g. {. v9 \[size=1em] next$ Y/ r; j; c; a s2 t' E- Y6 Q9 [4 x
[size=1em] Bytes2BStr = strreturn$ C# A9 c; C3 i: I3 p: m0 u
[size=1em]End Function ; s; s2 g7 F3 v% p; n4 l( x/ U' R8 O' c( B' H$ M
7 \% F. u# |0 t: D+ u
0 V: H7 C9 \! o% E
9 M/ l# T' g8 W; i+ W
9 x" J/ N9 l' z& Y% B
) [, H1 V/ [% H4 C
3)事件onreadystatechange,状态转换函数 8 \/ q$ [$ x6 g5 m) ?" g! t. y, E+ a/ t
4)方法有setRequestHeader,open,send,用于设置响应头的,当指定提交方法为POST的时候,需要设置content-type为application/x-www-form-urlencoded,如果未设置这个响应头,请求的动态页无法使用键值对的形式获取到值,不过可以从二进制流中生成提交的数据。 6 Z7 S k' r# c, S/ |参考- s4 R! O+ d# V ajax指定为post但是未设置content-type或未指定键时时如何获取提交的内容 9 J( ~8 q9 T* ~* [ ; m) }0 x r/ w4 T 容易出现错误的问题 ; ^0 F r9 }) Y6 c1)对于使用XMLHttpRequest创建的对象,包括IE7+,属性是严格区分大小写的,一定要注意大小写的问题,要不不区分大小,属性值就是 undefined。如readyState写成readystate,responseText写成responsetext。 4 H/ i4 Y$ U. J- o. u! \% K) l1 R3 }' q0 C2 R
2)对于IE浏览器,如果是先判断activexobject,那么会执行activexobject创建xhr对象,使用acx创建的xhr对象,属性,事件,方法都不区分大小写! P6 Y3 r% V2 T) P2 E# ^5 I3 V
% y- Y) c. A1 i( ]) G# s3)使用XMLHttpRequest创建时,onreadystatechange一定全部为小写,要不相当于给xhr对象赋值一个自定义属性,而不是实际的状态转换函数。这样永远都不执行回调。对于IE使用activexobject创建的xhr对象,不区分大小写/ }) v/ }0 b& W& z U) S' z. ]5 Z9 L
! b" j6 g: X2 O( g2 I4)同2,3点,XMLHttpRequest创建时,调用方法一定要区分大小写,要不会出错,提示找不到方法。IE使用activexobject创建不会区分大小写。$ I( Y9 P6 y; f# n9 U7 }; W. ~* G 特别强调的是,一定要调用open方法后,才能执行setRequestHeader方法,要不会出错。9 ?9 L u3 L+ L