Ajax 中服务端编码不能改怎么办?

作者:vkvi 来源:千一网络(原创) 日期:2007-6-30

Ajax 乱码详细 中介绍了解决 Ajax 乱码的本质方法,但是有时我们无法更改服务端的程序的编码,怎么办呢?

这里有一种解决办法。

首先添加一个 VBScript 函数

function bytes2BSTR(vIn)
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function

然后在 Ajax 中调用这个函数以获得返回值

bytes2BSTR(xmlhttp.responseBody)

这里 JavaScript 中调用了 VBScript 中的函数

说明

Ajax 中请求的 URL 不是 Ajax 程序所在的站点,可能会涉及到没有权限的问题。

相关文章