Ajax使用演示(函数已经包装好)——ASP
很多人用Ajax之初遇到GBK,UTF-8编码格式的阻扰。我在解决了这些问题以后,包装好函数,提供给初学者或遇到困惑的程序员使用,希望对大家有所帮助。
关键点有二:
1、POST往服务器端送数据时,以URI方式送,这点从必须增加:
引用
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
这段代码可以看出,所以送出前需要进行URI编码,但是他还将数据以UTF-8格式往服务器端送,所以进行两次编码可以回避这个问题。
Get往服务器端送数据是GBK编码格式,不需要用URI编码,当然,编码了也没问题。
2、服务器端Header中药增加编码格式申明,否则它会以UTF-8的方式往客户端送数据。我们增加:
引用
Response.Addheader "Content-Type","text/html; charset=gb2312"
另外,如果用Get方式,还要增加如下代码,避免缓存造成使用缓存而不再次往服务器送数据。
引用
Response.Expires = 0 '总是过期的
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache" '不缓存
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
源代码以文件形式上传,里面带有一个通用的NetBox程序,方便进行ASP调试。
注意NetBox还是跟IIS有所区别的,他对某些ASP的语法不支持,比如续行。