在NETBOX中使用Asp AJAX Response.CharSet解决方法
刚调试程序的时候报错后然后找的解决方法,现在发出来大家借鉴。
-----------------------
错误提示:
运行时错误 800a01b6
对象不支持此属性或方法: Response.CharSet
---------------------------------------------------------------------
(百度一下,还有很多人遇到同样的错误)
Microsoft VBScript runtime error 800a01b6
Object doesnt support this property or method: Response.Charset
检查出错代码:
Response.CharSet = "GB2312"
这行代码主要是为了解决ajax用get获得数据时,中文乱码的问题。
删除这行代码后netbox正常运行,但是ajax返回的中文数据成了乱码。
说明 NetBox不支持 Response.CharSet 。
打开netbox的使用手册,依次展开:
对象参考 → Response 对象 → Response 方法
AddHeader 方法
AddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题
语法
Response.AddHeader name, value
参数
name
新的标题变量的名称
value
存储在新的标题变量中的初始值
注释
为避免命名不明确,name 中不能包含任何下划线字符 (_)。ServerVariables 集合将标题中的下划线字符解释为反斜杠。例如,下面的脚本使服务器查找一个名为 MY-HEADER 的标题名。
<% Request.ServerVariables("HTTP_MY_HEADER") %>
示例
下面这个示例使用 AddHeader 方法要求客户端使用 BASIC 验证。
<% Response.Addheader "WWW-Authenticate", "BASIC" %>
注意 前面的脚本仅通知客户端浏览器使用哪个验证。若您在 Web 应用程序中使用该脚本,则一定要启用 Web 服务器的 BASIC 验证。
于是将
Response.CharSet = "GB2312"
替换成:
Response.Addheader "Content-Type","text/html; charset=gb2312"
NetBox环境下ajax用get获取数据,中文乱码的问题解决!
相关文档:
问题:
当用户点击删除按钮时,程序调用Response.write("<script>alert('是否继续')</script>")是页面会弹出错误:
Sys.WebForms.PageRequestManagerParserErrorException:The
message received from the server count not be parsed.Common causes for
this error are when ......
ajax的功能主要是应用在js上,ajax对asp没什么要求,asp只负责在后台显示及操作服务端的数据。
可以像下面这样思考:
1.写表单第一项(如用户名)
2.onblur事件(失去焦点)发生时开始验证,onblur="checkusername()"
3.js发一个请求给第一个asp(假定为ajaxusername.asp)如果从数据库中找到了这个用户,给出1(ajaxuse ......
Ajax中send方法参数的使用
一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。
例如 :
var url = "login.jsp?user=XXX&pwd=XXX";
xmlHttpRequest.open("GET",url, ......
俩函数搞定asp的orm映射
orm必须用到实体类,像C#这样的语言 写实体类挺痛苦的,除非用工具
而asp有个好处,因为他可以动态构建一个字符串并把此字符串动态解析为代码,也就是他的 execute 和 ExecuteGlobal 俩函数
下面这个函数是 实体类生成器 只要传入列名字符串就能生成 一个全局可用的类
'定义一个实体类
' ......
前台:
<html>
<head>
<title>Ajax实现无刷新三联动下拉框</title>
<SCRIPT language="javascript">
......