AJAX

您所在的位置:网站首页 jsajax请求 AJAX

AJAX

#AJAX| 来源: 网络整理| 查看: 265

w3school 在线教程 HTML 系列教程 浏览器脚本 服务器脚本 编程教程 XML 系列教程 建站手册 参考手册 JS 教程 JS 教程 JS 简介 JS 使用 JS 输出 JS 语句 JS 语法 JS 注释 JS 变量 JS Let JS Const JS 运算符 JS 算数 JS 赋值 JS 数据类型 JS 函数 JS 对象 JS 事件 JS 字符串 JS 字符串方法 JS 字符串搜索 JS 字符串模板 JS 数字 JS BigInt JS 数字方法 JS 数字属性 JS 数组 JS 数组方法 JS 数组排序 JS 数组迭代 JS 数组 Const JS 日期 JS 日期格式 JS 日期获取方法 JS 日期设置方法 JS 数学 JS 随机 JS 逻辑 JS 比较 JS 条件 JS Switch JS Loop For JS Loop For In JS Loop For Of JS Loop While JS Break JS typeof JS 类型转换 JS 位运算 JS 正则表达式 JS 运算符优先级 JS 异常 JS 作用域 JS Hoisting JS 严格模式 JS this 关键词 JS 箭头函数 JS 类 JS 模块 JS JSON JS 调试 JS 样式指南 JS 最佳实践 JS 错误 JS 性能 JS 保留词 JS 版本 JS 版本 JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS 2019 JS 2020 JS 2021 JS IE / Edge JS 历史 JS 对象 JS 对象定义 JS 对象属性 JS 对象方法 JS 对象显示 JS 对象访问器 JS 对象构造器 JS 对象原型 JS 可迭代对象 JS Set JS Map JS 对象引用 JS 函数 JS 函数定义 JS 函数参数 JS 函数调用 JS 函数 Call JS 函数 Apply JS 函数绑定 JS 闭包 JS 类 JS 类简介 JS 类继承 JS Static JS Async JS 回调 JS 异步 JS Promise JS Async JS HTML DOM DOM 简介 DOM 方法 DOM 文档 DOM 元素 DOM HTML DOM 表单 DOM CSS DOM 动画 DOM 事件 DOM 事件监听程序 DOM 导航 DOM 节点 DOM 集合 DOM 节点列表 JS Browser BOM JS Window JS Screen JS Location JS History JS Navigator JS 弹出框 JS Timing JS Cookies JS Web API Web API 简介 Web Form API Web History API Web Storage API Web Worker API Web Fetch API Web Geolocation API JS AJAX AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例 JS JSON JSON 简介 JSON 语法 JSON vs XML JSON 数据类型 JSON 解析 JSON 字符串化 JSON 对象 JSON 数组 JSON 服务器 JSON PHP JSON HTML JSON JSONP JS vs jQuery jQuery 选择器 jQuery HTML jQuery CSS jQuery DOM JS 图形 JS 图形 JS Canvas JS Plotly.js JS Chart JS 谷歌图表 JS D3.js JS 实例 JS 实例 JS HTML DOM JS HTML 输入 JS HTML 对象 JS HTML 事件 JS Browser JS 测验 JS 参考手册 JavaScript 对象 HTML DOM 对象 建站手册 网站构建 万维网联盟 (W3C) 浏览器信息 网站品质 语义网 职业规划 网站主机 关于 W3School 帮助 W3School AJAX - XMLHttpRequest 对象 AJAX 简介 AJAX 请求

XMLHttpRequest 对象是 AJAX 的基石。

创建 XMLHttpRequest 对象 定义回调函数 打开 XMLHttpRequest 对象 向服务器发送请求 XMLHttpRequest 对象

所有现代浏览器都支持 XMLHttpRequest 对象。

XMLHttpRequest 对象可用于在后台与 Web 服务器交换数据。这意味着可以更新网页的部分内容,而无需重新加载整个页面。

创建 XMLHttpRequest 对象

所有现代浏览器(Chrome、Firefox、IE、Edge、Safari、Opera)都有内置的 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:

variable = new XMLHttpRequest(); 定义回调函数

回调函数是作为参数传递给另一个函数的函数。

在这种情况下,回调函数应包含响应准备就绪时要执行的代码。

xhttp.onload = function() { // 当响应准备就绪时要做什么 } 发送请求

如需向服务器发送请求,您可以使用 XMLHttpRequest 对象的 open() 和 send() 方法:

xhttp.open("GET", "ajax_info.txt"); xhttp.send(); 实例 // 创建 XMLHttpRequest 对象 const xhttp = new XMLHttpRequest(); // 定义回调函数 xhttp.onload = function() { // 您可以在这里使用数据 } // 发送请求 xhttp.open("GET", "ajax_info.txt"); xhttp.send();

亲自试一试

跨域访问(Access Across Domains)

出于安全原因,现代浏览器不允许跨域访问。

这意味着网页和它尝试加载的 XML 文件必须位于同一台服务器上。

W3School 上的例子都打开位于 W3School 域中的 XML 文件。

如果您想在自己的网页之一上使用上面的例子,您加载的 XML 文件必须位于您自己的服务器上。

XMLHttpRequest 对象方法 方法 描述 new XMLHttpRequest() 创建新的 XMLHttpRequest 对象。 abort() 取消当前请求。 getAllResponseHeaders() 返回头部信息。 getResponseHeader() 返回特定的头部信息。 open(method, url, async, user, psw)

规定请求。

method:请求类型 GET 或 POST url:文件位置 async:true(异步)或 false(同步) user:可选的用户名 psw:可选的密码 send() 向服务器发送请求,用于 GET 请求。 send(string) 向服务器发送请求,用于 POST 请求。 setRequestHeader() 将标签/值对添加到要发送的标头。 XMLHttpRequest 对象属性 属性 描述 onload 定义接收到(加载)请求时要调用的函数。 onreadystatechange 定义当 readyState 属性发生变化时调用的函数。 readyState

保存 XMLHttpRequest 的状态。

0:请求未初始化 1:服务器连接已建立 2:请求已收到 3:正在处理请求 4:请求已完成且响应已就绪 responseText 以字符串形式返回响应数据。 responseXML 以 XML 数据返回响应数据。 status

返回请求的状态号

200: "OK" 403: "Forbidden" 404: "Not Found"

如需完整列表请访问 Http 消息参考手册

statusText 返回状态文本(比如 "OK" 或 "Not Found") onload 属性

使用 XMLHttpRequest 对象时,您可以定义一个回调函数,以便在请求收到答复时执行。

请在 XMLHttpRequest 对象的 onload 属性中定义该函数:

实例 xhttp.onload = function() { document.getElementById("demo").innerHTML = this.responseText; } xhttp.open("GET", "ajax_info.txt"); xhttp.send();

亲自试一试

多个回调函数

如果网站中有多个 AJAX 任务,则应创建一个执行 XMLHttpRequest 对象的函数,并为每个 AJAX 任务创建一个回调函数。

函数调用应包含 URL 以及响应准备就绪时要调用的函数。

实例 loadDoc("url-1", myFunction1); loadDoc("url-2", myFunction2); function loadDoc(url, cFunction) { const xhttp = new XMLHttpRequest(); xhttp.onload = function() {cFunction(this);} xhttp.open("GET", url); xhttp.send(); } function myFunction1(xhttp) { // 这里是动作 } function myFunction2(xhttp) { // 这里是动作 } onreadystatechange 属性

readyState 属性保存 XMLHttpRequest 的状态。

onreadystatechange 属性定义了一个回调函数,当 readyState 改变时执行该函数。

status 属性和 statusText 属性保存 XMLHttpRequest 对象的状态。

属性 描述 onreadystatechange 定义当 readyState 属性改变时调用的函数。 readyState

保存 XMLHttpRequest 的状态。

0:请求未初始化 1:服务器连接已建立 2:请求已收到 3:正在处理请求 4:请求已完成且响应已就绪 status

返回请求的状态号

200: "OK" 403: "Forbidden" 404: "Not Found"

如需完整列表请访问 Http 消息参考手册

statusText 返回状态文本(比如 "OK" 或 "Not Found")。

每次 readyState 改变时都会调用 onreadystatechange 函数。

当 readyState 为 4 且 status 为 200 时,响应就绪:

实例 function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt"); xhttp.send(); }

亲自试一试

onreadystatechange 事件被触发了四次(1-4),每次 readyState 变化一次。

AJAX 简介 AJAX 请求 JavaScript 和 HTML DOM 参考手册 JavaScript 实例 JavaScript 测验 JavaScript 高级教程

W3School 简体中文版提供的内容仅用于培训和测试,不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。版权所有,保留一切权利。

使用条款 隐私条款 技术支持:赢科 蒙ICP备06004630号



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3