-
转:关于Microsoft.XMLHttp的属性和方法的简介及使用
2009-05-19 15:29:06
Microsoft.XMLHttp组件的属性方法
一、使用步骤:
1、创建XMLHTTP对象 //需MSXML4.0支持
2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。客户端通过Open命令打开与服务端的服务网页的连接。与普
通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。
3、发送指令。
4、等待并接收服务端返回的处理结果。
5、释放XMLHTTP对象
二、XMLHTTP方法:
Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword )
bstrMethod:数据传送方式,即GET或POST。
bstrUrl:服务网页的URL。
varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。用中一般将其置为False,即异步执行。
bstrUser:用户名,可省略。
bstrPassword:用户口令,可省略。
Send( varBody )
varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。
setRequestHeader( bstrHeader, bstrvalue )
bstrHeader:HTTP 头(header)
bstrvalue: HTTP 头(header)的值
如果Open方法定义为POST,可以定义表单方式上传:
xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded")
三、XMLHTTP属性:
onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。
responseBody:结果返回为无符号整数数组。
responseStream:结果返回为IStream流。
responseText :结果返回为字符串。
responseXML:结果返回为XML格式数据。
具体的使用方法
创建XMLHTTP对象的语句如下:
Set bjXML = CreateObject("Msxml2.XMLHTTP") 或
Set bjXML = CreateObject("Microsoft.XMLHTTP")
'Or for version 3.0 of XMLHTTP, use:
'Set bjXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
对象创建后调用Open方法对Request对象进行初始化,语法格式为:
objXML.open http-method,url,async,userID,password
Open方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供)。参数的含义如下所示:
http-method:HTTP的通信方式,比如GET或是POST
url:接收XML数据的服务器的URL地址。通常在URL中要指明ASP或CGI程序
async:一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
userID:用户ID,用于服务器身份验证
password:用户密码,用于服务器身份验证
XMLHTTP对象的Send方法
用Open方法对Request对象进行初始化后,调用Send方法发送XML数据:
objXML.send()
Send方法的参数类型是Variant,可以是字符串、DOM树或任意数据流。
发送数据的方式分为同步和异步两种。在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程。
XMLHTTP对象中的readyState属性
其能够反映出服务器在处理请求时的进展状况。客户机的程序可以根据这个状态信息设置相应的事件处理方法。属性值及其含义如下表所示:
值 说明
0 Response对象已经创建,但XML文档上载过程尚未结束
1 XML文档已经装载完毕
2 XML文档已经装载完毕,正在处理中
3 部分XML文档已经解析
4 文档已经解析完毕,客户端可以接受返回消息
客户机处理响应信息,客户机接收到返回消息后,进行简单的处理,基本上就完成了C/S之间的一个交互周期。
客户机接收响应是通过XMLHTTP对象的属性实现的:
responseText:将返回消息作为文本字符串;
responseBody:将返回消息作为HTML文档内容;
responseXML:将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用;
responseStream:将返回消息视为Stream对象
以下是一个简单的例子:类似新闻小偷
<%
Set bjXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXML.open "GET","http://www.alexa.com",false
objXML.send()
response.write(objXML.responseText)
%>
整个步骤很明显:建立、打开、发送和接受。
实例:获取网页信息
Set bjXML = CreateObject("Microsoft.XMLHTTP")
'objXML.open "GET","http://10.0.0.144/goform/formNasSambaSave",False, "admin","1234"
objXML.open "GET","http://10.0.0.144/nassetting.asp",False, "admin","1234" '使用时,要修改网址,用户名,密码
objXML.send()
a = objXML.readyState '判断连接状态,可以不要
'MsgBox a
b = objXML.responseText '获取WEB Server返回的信息
'MsgBox b
Const ForAppending = 8
Set bjFSO = CreateObject("Scripting.FileSystemObject")
Set fs=objFSO.OpenTextFile("D:\test.htm",ForAppending,True, -1) '把WEB Server返回的信息写入文件
fs.WriteBlankLines(3)
fs.Write b
fs.Close()
Set fs=nothing
Set bjFSO=nothing
实例:向WEB Server发送信息
Dim a,b,t
t = Now()
'获取日期
dtmThisMinute = Minute(time)
dtmThisHour = Hour(Time)
dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
tmToday = dtmThisMonth & "/" & dtmThisDay & "/" & dtmThisYear
Logfile = dtmThisYear & "Year" & dtmThisMonth & "Month" & dtmThisDay & "Day" & dtmThisHour & "Hour" & dtmThisMinute & "Minute"
Set bjXML = CreateObject("Microsoft.XMLHTTP")
objXML.open "GET","http://10.0.0.144/goform/formNasSambaSave?smbName=tomtom2&smbGroup=gjmhome&smbDescrip=This is gjm storage server.&recycled=1",False, "admin","1234" '使用时,要修改网址,用户名,密码,和你要发生的信息
objXML.send()
a = objXML.readyState
'MsgBox a
b = objXML.responseText
'MsgBox b
Const ForAppending = 8
Set bjFSO = CreateObject("Scripting.FileSystemObject")
Set fs=objFSO.OpenTextFile("D:\" & Logfile &".htm",ForAppending,True, -1)
fs.WriteBlankLines(3)
fs.Write b
fs.Close()
Set fs=nothing
Set bjFSO=nothing -
转:ASP开发中遇到的错误信息中文说明大全
2009-05-19 15:25:46
如 果你搞过ASP的开发,你就会为ASP中没有好的完整的调试环境而头疼不己。我收集了网上相关所有信息提示,想给它做成单机的ASP开发错误提示软件中的 数据库,但是我发现应该还有些是我所不清楚或说是了解的。所以放在这里,请知道的朋友再次提出你的观点或说更详细的信息,我将非常感激!如果有好的建议, 如果软件出来后,我将首先免费送给您尝试使用!
再次希望看到这个文章的朋友们,能够支持和鼓励我做这个东西!(反正我觉得做这样东西的好像就没有啊),请大家指出问题并且补充!!!呵!!!!!-----------------//*
大部分的ADO的错误码对应的含义
除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 _blank> Microsoft®Visual Basic® 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十进制和十六进制错误代码值。
常量名称 编号 说明
adErrInvalidArgument 3001 0x800A0BB9 应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。
adErrNoCurrentRecord 3021 0x800A0BCD BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的操作需要当前记录。
adErrIllegalOperation 3219 0x800A0C93 应用程序请求的操作不允许出现在该上下文中
adErrInTransaction 3246 0x800A0CAE 在事务中应用程序无法显式关闭Connection 对象。
adErrFeatureNotAvailable 3251 0x800A0CB3 提供者不支持应用程序请求的操作。
adErrItemNotFound 3265 0x800A0CC1 ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。
adErrObjectInCollection 3367 0x800A0D27 无法追加,对象已经在集合中。
adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421 0x800A0D5D 应用程序使用了不符合对当前操作的值类型。
adErrObjectClosed 3704 0x800A0E78 如果对象关闭,则不允许应用程序请求的操作。
adErrObjectOpen 3705 0x800A0E79 如果对象打开,则不允许应用程序请求的操作。
adErrProviderNotFound 3706 0x800A0E7A ADO 找不到指定的提供者。
adErrBoundToCommand 3707 0x800A0E7B 应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708 0x800A0E7C 应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection 3709 0x800A0E7D 应用程序通过引用关闭或无效的Connection 对象来请求对对象的操作。
ASP错误代码说明错误代码 错误消息 说明
ASP0100 Out of memory 内存不足(不能分配要求的内存
ASP0101 Unexpected error 意外错误
ASP0102 Expecting string input 缺少字符串输入
ASP0103 Expecting numeric input 缺少数字输入
ASP0104 Opration not allowed 操作不允许
ASP0105 Index out of ange 索引超出范围(一个数组索引超届)
ASP0106 Type Mismatch 类型不匹配(遇到的数据类型不能被处理)
ASP0107 Stack Overflow 栈溢出(正在处理的数据超出了允许的范围)
ASP0115 Unexpected error 意外错误(外部对象出现可捕获的exception_name错误,脚本不能继续运行)
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
ASP0190 Unexpected error 意外错误(当释放外部对象,产生可捕获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误)
ASP0193 OnStartPage Failed 在外部对象的OnStartPage方法中产生错误
ASP0194 OnEndPage Failed 在外部对象的OnEndPage方法中产生错误
ASP0240 s cript Engine Exception 脚本引擎从object_name对象中抛出exception_anme异常
ASP0241 CreateObject Exception object_name对象的CreatObject方法引起了exception_name异常
ASP0242 Query OnStartPage nterface 查询对象Object_name的OnsExceptionJs cript 运行时错误
Js cript 运行时错误是指当 Js cript 脚本试图执行一个系统不能运行的动作时导致的错误。当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现Js cript 运行时错误时。
以下是76个运行时错误错误号 描述
十进制 十六进制 说明
5 800A0005 非法过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标超界
10 800A000A 此数组被固定或临时锁定
11 800A000B 零除错误
13 800A000D 类型失配
14 800A000E 串空间不足
17 800A0011 不能执行所请求的操作
28 800A001C 栈空间不足
35 800A0023 子过程或函数未找到
48 800A0030 装载DLL出错
51 800A0033 内部出错
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动重命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 对象变量或With块变量未设置
92 800A005C For循环未初始化
94 800A005E Null使用无效
322 800A0042 不能建立所需的临时文件
424 800A01A8 需要对象
429 800A01A9 Automation服务器不能建立对象
430 800A01AE 类不支持Automation
432 800A01B0 在Automation操作中找不到文件名或类名
438 800A01B6 对象不支持这个属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持这个动作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前区域设置
448 800A01C0 指定的参数未找到
449 800A01C1 参数不可选
450 800A01C2 错误的参数数目或非法属性分配
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
458 800A01CA 变量使用了一个Js cript不支持的Automation类型
462 800A01CE 远程服务器机器不存在或不可用
501 800A01F5 不能分配给变量
502 800A01F6 对象对于脚本不安全
503 800A01F7 对象对于初始化不安全
504 800A01F8 对象对建立不安全
5000 800A1388 不能分配给“this”
5001 800A1389 需要 Number 类型
5002 800A138A 需要 Function 对象
5003 800A138B 不能给函数返回值赋值
5004 800A138C 不能索引对象
5005 800A138D 需要 String
5006 800A138E 需要 Date 对象
5007 800A138F 需要 Object 类型
5008 800A1390 非法赋值
5009 800A1391 未定义标识符
5010 800A1392 需要 Boolean
5011 800A1393 不能执行来自一个自由脚本的代码
5012 800A1394 需要对象的成员
5013 800A1395 需要 VBArray
5014 800A1396 需要 Js cript 对象
5015 800A1397 需要 Enumerator 对象
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式语法错误
5018 800A139A 未预期的限定符
5019 800A139B 正则表达式中缺少“]”
5020 800A139C 正则表达式中缺少“)”
5021 800A139D 字符集范围无效
5022 800A139E 异常抛出,但无法抓住
5023 800A139F 函数没有合法的 Prototype (原型)对象
5024 800A13A0 待解码的 URI 包含有非法字符
5025 800A13A1 待解码的 URI 编码非法
5026 800A13A2 小数部分的位数越界
5027 800A13A3 精度越界
5028 800A13A4 需要 Array 或 arguments 对象
5029 800A13A5 数组长度必须为一有限正整数
5030 800A13A6 必须赋给数组长度一个有限正数js cript错误代码及相应解释大全
Js cript 语法错误
Js cript 语法错误是指当 Js cript 语句违反了 Js cript 脚本语言的一条或多条语法规则时导致的错误。Js cript 语法错误发生在程序编译阶段,在开始运行该程序之前。(错误发生在开发过程中),以下是32个语法错误
错误号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 需要“:”
1004 800A03EC 需要“;”
1005 800A03ED 需要“(”
1006 800A03EE 需要“)”
1007 800A03EF 需要“]”
1008 800A03F0 需要“{”
1009 800A03F1 需要“}”
1010 800A03F2 需要标识符
1011 800A03F3 需要“=”
1012 800A03F4 需要“/”
1013 800A03F5 无效数
1014 800A03F6 非法字符
1015 800A03F7 字符串常数未结束
1016 800A03F8 注释未结束
1018 800A03FA 函数外有 ’return’ 语句
1019 800A03FB 在循环外不能有“break”
1020 800A03FC 在循环外不能有“continue”
1023 800A03FF 需要十六进制数
1024 800A0400 需要“while”
1025 800A0401 标签定义重复
1026 800A0402 未找到标签
1027 800A0403 一条 “switch” 语句中只能有一个 “default”
1028 800A0404 需要标识符、字符串或者数字
1029 800A0405 需要“@end”
1030 800A0406 条件编译已关闭
1031 800A0407 需要常数
1032 800A0408 需要“@”
1033 800A0409 需要“catch”
1034 800A040A 需要“var”
1035 800A040B “Throw”的后面必须跟有一个表达式,且在同一源代码行上VBs cript 运行时错误
如果 VBs cript 脚本执行系统无法实施的操作,则会产生 VBs cript 运行时错误。只有在运行脚本、为变量表达式赋值或分配内存时,才会产生 VBs cript 运行时错误。 以下是65个运行时错误:
错误编号 描述
十进制 十六进制 说明
5 800A0005 无效过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标越界
10 800A000A 该数组为定长的或临时被锁定
11 800A000B 被零除
13 800A000D 类型不匹配
14 800A000E 字符串空间溢出
17 800A0011 无法执行请求的操作
28 800A001C 堆栈溢出
35 800A0023 未定义 Sub 或 Function
48 800A0030 加载 DLL 错误
51 800A0033 内部错误
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动器重新命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 未设置对象变量
92 800A005C For 循环未初始化
94 800A005E 非法使用 Null
322 800A0142 不能建立所需临时文件
424 800A01A8 需要对象
429 800A01AD ActiveX 部件无法创建对象
430 800A01AE 类不支持自动化
432 800A01B0 在自动化操作中未找到文件名或类名
438 800A01B6 对象不支持该属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持此操作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前的区域设置
448 800A01C0 未找到命名参数
449 800A01C1 参数不可选
450 800A01C2 错误的参数个数或无效的参数属性值
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
455 800A01C7 代码源锁错误
457 800A01C9 这个键已经是本集合的一个元素关联
458 800A01CA 变量使用了一个 VBs cript 中不支持的自动化(Automation)类型
462 800A01CE 远程服务器不存在或不能访问
481 800A01E1 无效图片
500 800A01F4 变量未定义
501 800A01F5 违法的分配
502 800A01F6 脚本对象不安全
503 800A01F7 对象不能安全初始化
504 800A01F8 对象不能安全创建
505 800A01F9 无效的或不合格的引用
506 800A01FA 类未被定义
507 800A01FB 发生异常
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式中的语法错误
5018 800A139A 错误的数量词
5019 800A139B 在正则表达式中需要 ']'
5020 800A139C 在正则表达式中需要 ')'
5021 800A139D 字符集越界
32811 800A802B 元素未找到vbs cript错误代码及对应解释大全
VBs cript 语法错误
如果 VBs cript 语句结构违反了一个或多个 VBs cript 脚本语言语法规则,就会产生VBs cript 语法错误。
错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:
错误编号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 缺少“:”
1005 800A03ED 需要 '('
1006 800A03EE 需要 ')'
1007 800A03EF 缺少“]”
1010 800A03F2 需要标识符
1011 800A03F3 需要 '='
1012 800A03F4 需要 'If'
1013 800A03F5 需要 'To'
1014 800A03F6 需要 'End'
1015 800A03F7 需要 'Function'
1016 800A03F8 需要 'Sub'
1017 800A03F9 需要 'Then'
1018 800A03FA 需要 'Wend'
1019 800A03FB 需要 'Loop'
1020 800A03FC 需要 'Next'
1021 800A03FD 需要 'Case'
1022 800A03FE 需要 'Select'
1023 800A03FF 需要表达式
1024 800A0400 需要语句
1025 800A0401 需要语句的结束
1026 800A0402 需要整数常数
1027 800A0403 需要 'While' 或 'Until'
1028 800A0404 需要 'While,'、 'Until,' 或语句未结束
1029 800A0405 需要 'With'
1030 800A0406 标识符太长
1031 800A0407 无效的数
1032 800A0408 无效的字符
1033 800A0409 未结束的串常量
1034 800A040A 未结束的注释
1037 800A040D 无效使用关键字 'Me'
1038 800A040E 'loop' 没有 'do'
1039 800A040F 无效 'exit' 语句
1040 800A0410 无效 'for' 循环控制变量
1041 800A0411 名称重定义
1042 800A0412 必须为行的第一个语句
1043 800A0413 不能赋给非Byval参数
1044 800A0414 调用 Sub 时不能使用圆括号
1045 800A0415 需要文字常数
1046 800A0416 需要 'In'
1047 800A0417 需要 'Class'
1048 800A0418 必须在一个类的内部定义
1049 800A0419 在属性声明中需要 Let , Set 或 Get
1050 800A041A 需要 'Property'
1051 800A041B 参数数目必须与属性说明一致
1052 800A041C 在类中不能有多个缺省的属性/方法
1053 800A041D 类初始化或终止不能带参数
1054 800A041E Property Let 或 Set 至少应该有一个参数
1055 800A041F 不需要的 'Next'
1056 800A0420 只能在 ‘Property’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default ’
1057 800A0421 说明 'Default' 必须同时说明 'Public' "
1058 800A0422 只能在 Property Get 中指定 'Default' -
转:Microsoft.XMLHTTP对象详解
2009-05-19 14:22:45
客户端调用XMLHTTP的过程很简单,只有5个步骤:
1、创建XMLHTTP对象
2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。
客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。
3、发送指令。
4、等待并接收服务端返回的处理结果。
5、释放XMLHTTP对象
定义XMLHTTP对象:
Set bjXML = CreateObject(Msxml2.XMLHTTP) 或
Set bjXML = CreateObject(“Microsoft.XMLHTTP”) (vbs)
var xml = new ActiveXObject("Microsoft.XMLHTTP"(javascript)
' Or, for version 3.0 of XMLHTTP, use:
Set xml = Server.CreateObject(MSXML2.ServerXMLHTTP)
XMLHTTP方法:
open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)
bstrMethod: 数据传送方式,即GET或POST。用"POST"方式发送数据,可以大到4MB,也可以换为"GET",只能256KB。
bstrUrl: 服务网页的URL。
varAsync: 是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。用中一般将其置为False,即异步执行。
bstrUser: 用户名,可省略。
bstrPassword:用户口令,可省略。
send(varBody)
varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。 发送数据的方式分为同步和异步两种。在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器 返回确认消息后才结束Send进程。
setRequestHeader(bstrHeader, bstrValue)
bstrHeader:HTTP 头(header)
bstrValue:HTTP 头(header)的值
如果Open方法定义为POST,可以定义表单方式上传:
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
abort
取消当前 HTTP 请求
getAllResponseHeaders
从响应信息中检索所有的标头字段
getResponseHeader
从响应信息正文中获得一个 HTTP 标头值
三、XMLHTTP属性:
onreadystatechange
在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。
readyState
XMLHTTP对象中的readyState属性能够反映出服务器在处理请求时的进展状况。客户机的程序可以根据这个状态信息设置相应的事件处理方法。属性值及其含义如下表所示:
值 说明
0 Response对象已经创建,但XML文档上载过程尚未结束
1 XML文档已经装载完毕
2 XML文档已经装载完毕,正在处理中
3 部分XML文档已经解析
4 文档已经解析完毕,客户端可以接受返回消息
responseBody
Variant型 结果返回为无符号整数数组
responseStream
Variant型 结果返回为IStream流
responseText
string型 结果返回为字符串。
responseXML
object型 结果返回为XML格式数据。
status
Long型 服务器返回的HTTP状态码
statusText
String型 服务器HTTP响应行状态
附录
(一) HTTP 1.1支持的状态代码
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分
101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议
200 OK 一切正常,对GET和POST请求的应答文档跟在后面。
201 Created 服务器已经创建了文档,Location头给出了它的URL。
202 Accepted 已经接受请求,但处理尚未完成。
203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝
204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的
205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容
206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它
300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。
303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取
307 Temporary Redirect 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时 才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只 能跟随对GET请求的重定向。
400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
403 Forbidden 资源不可用。
404 Not Found 无法找到指定位置的资源
405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容
407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。
408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。
409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。
410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。
411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。
412 Precondition Failed 请求头中指定的一些前提条件失败
413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头
414 Request URI Too Long URI太长
416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头
500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求
501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求
502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答
503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头
504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答
505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本
loading...
2006-1-22
关于XML(XMLHTTP)跨域加载数据不会出现跨域的安全提示信息的问题
网上看了很多资料,但好象很少人谈到跨域读取XML文档的问题,有些论坛或BLOG关于XML跨域读取的问题,实现起来非法复杂。
在这里我介绍一下XMLHTTP跨域读取页面数据的问题,以JS为例
一、读取数据
//建立对象
var xml = new ActiveXObject("Microsoft.XMLHTTP"
//这里的abc.xml是被读取的文件,当然也可以换成别的文件,false表示非异步传输,async是asynchronism简写
xml.open("get","http://www.mydomain.com/abc.xml",false)
xml.send()
二、在被读取数据的域根下(上例是在www.mydomain.com/下),建立一个XML 策略文件,名字一定要是crossdomain.xml。
在策略文件中加入以下代码
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.mydomain.com"/> //domain属性的值就是被允许从本站读取数据的来源域名
</cross-domain-policy>
这样就完成了跨域读取数据并不会出现跨域的安全提示信息了
网址:http://hi.baidu.com/bnzm5270/blog/item/84244be781ef9929b838206b.html
-
转载:公司招聘中不能说的秘密
2008-09-26 20:43:50
你是否试过狂轰乱炸地在网上发简历,而回应者却寥寥无几?难道真的是人才饱和了吗?或者是你不够优秀,企业在第一时间就把你给枪毙了呢?这里,会告诉你一些企业人才招聘环节中一些不为外人知道的秘密,了解了这些秘密,应该可以让你以后的应聘变得更加有成效!
现在中国所有招聘网站都是以人事经理为中心,因为他们是给钱的一方,较少从求职者角度考虑,如果我们从求职者立场或者中立立场来看中国招聘网站的生意模式及运作流程,将这个求职者并不知晓的事情公布出来,你就会更好清醒认识招聘网站,也更好的实际的利用人才网站求职:
一、 人才网站与企业人事经理的生意模式对求职者影响:
人才网站的行规是企业人事经理支付600元,可以在一个月内发布一定的职位让求职者投递简历,可以搜索查看人才网站简历库的简历,还可以下载一定数量的简历主动与求职者联系。而大企业及知名公司一般都是购买1年的招聘服务。问题就出来了:如果这个职位1到2周企业招到人了,但他购买的是1个月的服务,所以企业的职位还是挂在网上,而且人才网站竞争激烈,一般都会赠送1个月服务。所以一般职位至少1个月挂在人才网站是无效的,是浪费求职者查看与投递简历时间的。
大公司最不可靠,他们利用网络、报纸、现场等多种方式,而1年的大大banner永远挂在人才网站上,他们并不需要人,只是为了广告宣传。
所以人才网站50%以上的职位都是过期的、无效的、不招人或招满人的,所有求职者抱怨我投了那么多简历为什么反馈率那么低,反馈率低是非常正常的。
另外51job网站的反馈率是最低的,这也是行业秘密:因为51Job的资源80%是以报纸招聘为主,报纸招聘效率高,但网站上的职位都是在报纸上刊登过后作为免费与补充服务,所以很多HR只会看报纸上来的简历,网站来的简历基本不看,在加上51job简历投递量实在太大,那些懒惰的HR才懒得一封一封的看,只会用搜索关键字来看,如本科+3年工作经验+主管等,其他不符合条件的看都不看一眼。所以你知道为什么一直没有公司找你面试,不是你不行,而是HR都不看你发的简历。下面第二部分告诉你如何被他们搜索到。
现在你知道网络招聘的反馈率为什么那么低了吧。不信你用自动回复邮件形式发送中国3大招聘网站职位HR的邮箱,看看有多少HR看了你的简历,一个工作论坛的网友说,他试着发了100个HR邮箱简历,可以通过自动回复的反馈率统计,可以看到50%HR不看简历就直接删除,30%根本就不打开邮件,只有20%打开邮箱,还有10%可能已经找到人的。他的分析说即使是中国前3名招聘网站以严格标准来看也只有10%职位是真正要急迫招人的。
二、既然知道一些潜规则,那我们也迎合一些这些规则,告诉你一些网络求职的小秘密
(1)采用行业招聘网站求职。
因为行业招聘网站是按行业发布职位信息的,所以专业和工作经历比较对口。比如你要找物业管理类的工作,你到万行工作网www.114job.com.cn的物业管理招聘频道上去注册简历就比较好,因为那里全部都是物业管理类的企业在招聘;如果你要找外贸的工作,你就可以万行工作网的外贸招聘频道去找,肯定有大量的外贸工作机会。其它的就不在列举。在目前的情况下,几乎每个行业的人才在万行工作网上都能找到自己的频道。
(2)简历要与大公司沾边
当人事经理搜索招聘网站简历库简历时,一般会以关键字“知名企业名称+职位名称”,比如消费品行业可能喜欢可口可乐及宝洁的人,人事经理会这样搜索,例如:“可口可乐+销售经理”,系统会搜索到简历中出现以上关键字的求职者,如果你的简历里出现知名企业名称的字样,就可以被搜索到,例如:“我在xx矿泉水公司工作,成功地令竞争对手——可口可乐旗下的天与地矿泉水在当地的市场份额减少……”:“我在可口可乐的广州白云区经销商工作”等。又提高了人事经理浏览简历的机会!
(3) 经常刷新简历
当人事经理搜索简历库的简历时,符合条件的简历是按刷新的时间顺序排列,而一般只会看前面一两页。很多求职者其实并不知道刷新简历可以获得更多求职机会。因此每次登陆,最好都刷新简历,刷新以后,就能排在前面,更容易被人事经理找到! (4) 不要只应聘最近三天的职位
一般求职者认为刚刚发布的最新的招聘信息肯定是成功率最大的,其实不然。因为很多企业人事经理没有及时的登陆刷新刊登的职位,所以求职者在搜索职位时刚刷新的职位会排在前面,这些职位应聘的人多,竞争大,相反,一些职位已经是半个月甚至两个月的,应聘的人少,成功率反而高。
(5) 让你的邮件永远在最前面
你要知道每天人事经理看求职者邮箱,他们其实是很懒的,100多页简历邮件他们最多只看前5页!你现在应该知道为什么你的求职简历永远没有回应!
所以发邮件到企业指定的邮箱时,怎样才能让你的邮件永远排在最前面,让人事经理每次打开邮箱都首先看到你的邮件?只要在发邮件前,把电脑系统的日期改为一个将来的日期,如2008年,因为大多邮箱都是默认把邮件按日期排序,所以你的邮件起码要到2008年以后才会被排在后面! (如果你求职成功,要向我请客耶!)
(6) 新颖的邮件标题
人事经理每天收到大量的求职电子邮件,求职者一般会按企业要求把邮件题目写成:应聘xx职位,怎样才能吸引人事经理的眼球,让他先打开自己的邮件?可以在邮件题目上做文章。一天人事经理收到几百封邮件,只有标题新颖的才有机会被打开。
例子:我的一个女性朋友发了100多封邮件求职都没有任何反应,因为应聘做文员的太多了,而我这个朋友做过空姐,我将她的邮件标题改为“空姐来广州找工作”,引起绝大部分男人事经理想入非非,结果三天之内有30多个男人事经理通知面试,3个月找不到工作的她而变成3天找到上十份工作。你现在知道邮件标题的重要性了吧。
(7) 简历最好放靓照
对于人事经理来说,每天需要浏览大量简历,如果同等的条件,一般会先通知有照片的求职者来面试,因为通过照片,人事经理对应聘者又多了几分了解。如果是美女,被通知的可能性就更大。我作为人事经理,曾经招聘一个人事主管,收到300多封简历,我找出前30份有相片的前5份,通知了最漂亮相片的2个女孩,就定下了其中的一个。对于一般职位如文职人员之类,中国人的传统还是以貌取人,你即使不漂亮,也照一个艺术照,就增多了面试机会(与其等死,还不如放手一搏),毕竟很现实的是,简历的目的就是有面试的机会,其他就要靠实力与运气了。
(8)求职信“骂”对方公司往往会带来意想不到的效果
一般人认为在求职信中称赞对方公司会引起好感,其实不然。如果先指出这家公司的缺点,往往会引起关注,语不惊人死不休呢,我作为人事经理,我只会对指出我们缺点的求职者有好感,对恭维我们公司的求职者一般会放在一边。即使你不知道对方公司缺点,你随便写一些永远不会错的:“我认为贵司创新不够,市场表现过于常规化;我以消费者心态观察贵司,发现贵司客户服务还有许多待改进的地方;我发现贵司品牌形象还有可能做的更好……”如闻其详,可面谈。可勾引相关公司面试。只要有面试机会,其他再说。(简历有机会面试目的是一切,手段是无所谓的)。
(9)自己要学会让简历与职位匹配
2个观念都是有效的:一是不要太在乎对方职位要求的描述,很多职位描述只是写写,连经理都不知道要招什么样的人,如果你看到对方职位要求本科,你是专科就不敢投递简历,那就失去机会了。如果你看到对方要求有5年经验,你只有3年经验,你也不敢投,那完全没有必要。因为人事经理们对职位的描述只是例行公事随便谢谢而已,你千万不要当真!
另外一个匹配观念就是他的职位如何描述,你就改变你的简历换一个说法匹配,如他说要求领导能力强,你的简历也说具有领导才能,他要沟通能力一流,你的简历也说我最擅长沟通。你的简历表面匹配度最高,也可以多增加机会。你可将简历改成为他职位描述完全量身定做的简历。
其实求职者有更多的面试机会,不但可以增加成功求职机会,还可以增加自己的信心,工资越叫越高还可以积累面试经验。很多优秀的求职者网上发了很多简历没有回应,以为自己不行没有竞争力,只好自动降价,实为可惜! 特别是中国最大的招聘网站51job的简历投递反馈率是同行业最低的,因为它主要资源80%投入报纸,报纸招聘完甚至录取完毕后将职位入库,只是将职位作为一个摆设放到网站。
要知道现在网络求职的成功率一般2个月是发1000份简历,有8份面试,2份成功,一个是你不想去的,另一个可能是你相对满意的。所以网络求职的朋友千万不要对自己失去信心。
我的栏目
标题搜索
我的存档
数据统计
- 访问量: 48380
- 日志数: 52
- 文件数: 1
- 建立时间: 2007-11-11
- 更新时间: 2013-05-09