发布新日志

  • 转:关于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的OnsException

    Js 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份成功,一个是你不想去的,另一个可能是你相对满意的。所以网络求职的朋友千万不要对自己失去信心。
Open Toolbar