用JS代码实现原生AJAX请求附完整注释
时间: 2023-09-12 21:04:45 浏览: 126
### 回答1:
可以使用以下代码实现原生AJAX请求:// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();// 设置请求参数
xhr.open("GET", "example.php", true);// 设置回调函数
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
// 执行成功回调函数
console.log(xhr.responseText);
}
};// 发送请求
xhr.send();
### 回答2:
```javascript
/**
* 用JS代码实现原生AJAX请求
* @param {String} method - 请求方法(GET/POST)
* @param {String} url - 请求的URL
* @param {Object} data - 请求的数据(可选)
* @param {Function} success - 请求成功后的回调函数(可选)
* @param {Function} error - 请求失败后的回调函数(可选)
*/
function ajax(method, url, data, success, error) {
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 设置请求的方法和URL
xhr.open(method, url, true);
// 设置响应的数据格式
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// 监听请求状态的变化
xhr.onreadystatechange = function() {
// 请求完成,且响应成功
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// 如果存在成功回调函数,调用之,并传递响应内容作为参数
if (success) {
success(xhr.responseText);
}
}
// 请求完成,但响应失败
else if (xhr.readyState === XMLHttpRequest.DONE && xhr.status !== 200) {
// 如果存在失败回调函数,调用之,并传递错误信息作为参数
if (error) {
error(xhr.status);
}
}
};
// 发送请求
xhr.send(data);
}
// 示例用法
ajax('GET', 'https://api.example.com/data', null, function(response) {
console.log('请求成功,响应内容:', response);
}, function(error) {
console.error('请求失败,错误码:', error);
});
```
以上是一个用JS代码实现原生AJAX请求的示例函数,通过传递请求方法、URL、数据、成功回调函数和失败回调函数来发起一个AJAX请求。在函数内部使用XMLHttpRequest对象创建请求,根据请求状态的变化进行相应的处理,最终调用成功或失败回调函数来处理响应结果。在示例用法中,使用GET方法请求"https://api.example.com/data",并在控制台打印成功或失败的信息。
### 回答3:
以下是使用 JavaScript 代码实现原生 AJAX 请求并附有完整注释:
```javascript
// 创建 XMLHttpRequest 对象 (用于发送和接收数据)
var xmlhttp = new XMLHttpRequest();
// 设置请求方法和 URL
xmlhttp.open("GET", "http://example.com/api/data", true);
// 设置请求头,如果需要的话
xmlhttp.setRequestHeader("Content-type", "application/json");
// 设置请求完成后的回调函数
xmlhttp.onreadystatechange = function() {
// 在请求完成且响应已接收时执行
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
// 解析响应的数据
var response = JSON.parse(xmlhttp.responseText);
// 执行相关操作,如更新页面内容
document.getElementById("result").innerHTML = response.data;
}
};
// 发送请求
xmlhttp.send();
```
以上代码创建了一个 `XMLHttpRequest` 对象,并使用 `open` 方法设置请求的方法和 URL。如果需要,可以使用 `setRequestHeader` 方法来设置请求头。然后,通过设置 `onreadystatechange` 事件来定义请求完成后的回调函数。在回调函数中,检查请求的状态和状态码,如果请求完成且状态码为 200 (即请求成功),则解析响应的数据。最后,可以根据需要执行相关操作,如更新页面内容。使用 `send` 方法发送请求。
阅读全文