AJAX简历系统附js文件

网络编程 2025-04-04 12:55www.168986.cn编程入门

代码片段如下:

作者:skyz

功能:创建http请求对象,用于处理JavaScript客户端ajax交互

日期:2006年3月20日

函数:HttpRequest()

这是一个用于创建http请求对象的函数。该函数的主要目的是为JavaScript客户端与服务器之间的异步交互提供支持。让我们深入了解其内部结构和功能。

该HttpRequest对象包含以下属性和方法:

属性:

1. _httpRequest:表示HttpRequest请求对象。

2. _callBack:回调函数。

3. _domResult:表示结果是否为dom对象或文本字符串。

4. _requestData:请求数据。

5. _requestResult:HttpRequest结果。

6. _stateString:当前请求状态字符串。

7. _error:表示当前是否出错。

8. _callBackPara:当前回调函数参数。

内部方法:

init()函数是该HttpRequest对象的初始化函数。它的主要任务是创建HttpRequest对象并设置相关属性。以下是其关键步骤:

1. 判断浏览器是否支持XMLHttpRequest对象。如果支持,则创建新的XMLHttpRequest对象并设置请求MIME类型为text/xml。

在我们深入请求的奇妙世界时,有一个核心的对象负责执行这一系列动作。它如同一座无形的桥梁,连接着我们与远程服务器之间的信息交流。下面,让我们揭开它的神秘面纱,走进它的内部逻辑。

这个对象具有一套完整的请求处理流程,从设置请求头、发送数据到获取响应结果,无一不精。它为我们提供了一个简单的接口,让我们无需深入了解底层的复杂性。

一、设置请求头

当我们想要为请求添加一些额外的信息时,可以通过这个对象的`doSetRequestHeader`方法轻松实现。例如,我们可以设置`Content-Type`为`application/json`来告诉服务器我们发送的数据是JSON格式的。只需提供参数`namePar`(请求头的名称)和`valuePar`(请求头的值),它就会默默地为我们完成设置工作。

二、设置请求数据

有时候,我们需要向服务器发送一些数据。这时,可以使用`doSetRequestData`方法。无论你需要发送的是表单数据、JSON对象还是其他任何形式的信息,只需提供`dataPar`参数,它就会将这些数据准备妥当,随时待发。

三、获取请求对象

通过调用`_getRequestObj`方法,我们可以获取到底层的请求对象。这个对象包含了与服务器通信的所有细节,是我们与服务器沟通的桥梁。

四、设置回调函数及参数

使用`doSetCallBack`方法,我们可以为请求设置回调函数以及额外的参数。当请求完成后,这个回调函数会被调用,同时传递请求的结果和额外的参数。这使得我们可以灵活地处理请求的结果。

五、获取当前状态与错误信息

通过`doGetState`和`doGetError`方法,我们可以获取到请求的当前状态以及错误信息。这对于调试和错误处理非常有帮助。

六、发送请求

使用`doSendResuest`方法发送请求。这个方法接受几个参数:请求的URL路径、请求方法(默认为GET)、请求对象、结果类型(是否为DOM或字符串),以及一个异步标志。这个方法会启动请求流程,并与服务器建立连接。当状态改变时,会触发回调函数处理响应结果。

```javascript

// 当发起网络请求时,根据不同的状态进行提示和处理

function startRequest(obj, methodPar, urlPar, asyPar) {

try {

// 设置请求状态信息

if (obj._readyStateTmp == 0) {

obj._setMessage("准备发起请求...");

} else if (obj._readyStateTmp == 1) {

obj._setMessage("正在读取中......");

} else if (obj._readyStateTmp == 2) {

obj._setMessage("已经读取过数据!");

} else if (obj._readyStateTmp == 3) {

obj._setMessage("正在切换或处理数据......");

} else if (obj._readyStateTmp == 4) { // 请求已完成或发生错误的状态

var statusTmp = a.status; // 获取HTTP状态码

if (statusTmp == 404) { // 页面未找到

obj._setMessage("未找到请求页面!", true); // 设置错误提示信息,并标记为错误状态

} else if (window.location.hrefdexOf("http") == -1 || statusTmp == 200) { // 判断当前页面是否为HTTP页面或者请求成功

obj._setMessage("请求完成!"); // 设置成功提示信息

// 处理返回结果,根据是否有DOM结果和XMLHttpRequest对象来设置返回内容类型

if (this._domResult && window.XMLHttpRequest) {

obj._requestResult = a.responseXml; // 如果是XML格式,则存储XML数据

} else {

obj._requestResult = a.responseText; // 如果是文本格式,则存储文本数据

}

// 如果有回调函数,则执行回调函数处理返回结果

if (obj._callBack) {

obj.doCallBack();

}

} else { // 其他未知错误情况

obj._setMessage("未知错误!"); // 设置错误提示信息,并标记为错误状态

}

} else { // 其他未知状态处理

obj._setMessage("未知状态错误!"); // 设置未知状态错误提示信息,并标记为错误状态

}

// 打开请求并发送数据

a.open(methodPar, urlPar, asyPar);

// 可选:设置请求头信息(这里未使用)

// a.setRequestHeader("If-Modified-Since","0");

a.send(obj._requestData); // 发送请求数据

上一篇:Vue监听事件实现计数点击依次增加的方法 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by