首页
学习
活动
专区
圈层
工具
发布

JavaScript手写实现AJAX请求以及使用Promise封装AJAX请求

AJAX概念 AJAX是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的 异步通信,从服务器 获取 XML 文档从中提取数据,再更新当前网...实现步骤 创建一个XMLHttpRequest对象 在这个对象上使用open()方法创建一个http请求,open方法所需要的参数是请求的方法,请求的地址,是否异步和用户的认证信息。...在发起请求之前,可以为这个对象添加一些信息和监听函数。比如可以通过setRequestHeader方法来为请求添加头信息。还可以为这个对象添加一个状态监听函数。...这个时候就可以通过response中的数据对页面进行更新了。 当对象的属性和监听函数 设置完成后,最后调用sent()方法来向服务器发起请求,可以传入参数作为发送的数据体。...='json'; xhr.setRequestHeader("Accept","application/json"); //发送HTTP请求 xhr.send(null); 使用Promise封装 function

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅析YSlow-23条规则

    HTML 4.01规范(第12.3节)规定,始终把使用标签的外部样式表放在部分里。不要使用@import。还要确保您指定的样式有正确的顺序。...15、可缓存的AJAX why AJAX=Asynchronous JavaScript And XML,AJAX不是新的编程语言,而是一种使用现有标准的新方法。...AJAX是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。...例如 例如请求favicon.ico文件,或者请求了某个不存在的脚本文件、样式表、图片文件,页面还是会按照正常的方式进行呈现。...尤其是如果请求一个不存在的脚本文件,因为浏览器在请求脚本文件的时候,即便是返回404,它也会尝试去按照Javascript的方式解析响应中的内容。

    1.5K30

    浅析YSlow-23条规则

    HTML 4.01规范(第12.3节)规定,始终把使用标签的外部样式表放在部分里。不要使用@import。还要确保您指定的样式有正确的顺序。...15、可缓存的AJAX why AJAX=Asynchronous JavaScript And XML,AJAX不是新的编程语言,而是一种使用现有标准的新方法。...AJAX是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。...例如 例如请求favicon.ico文件,或者请求了某个不存在的脚本文件、样式表、图片文件,页面还是会按照正常的方式进行呈现。...尤其是如果请求一个不存在的脚本文件,因为浏览器在请求脚本文件的时候,即便是返回404,它也会尝试去按照Javascript的方式解析响应中的内容。

    2.3K81

    前端的发展历程

    它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。...,后台接收到请求,生成静态HTML页面,发送到浏览器。...Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。...如果要让用户留在当前页面中,同时发出新的HTTP请求,就可以使用Ajax发送这个新请求,接收到数据后,再用JavaScript更新页面,这样一来,用户就感觉自己仍然停留在当前页面,但是数据却可以不断地更新...2004年:最早大规模使用AJAX的就是Gmail,Gmail的页面在首次加载后,剩下的所有数据都依赖于AJAX来更新。 Web 2.0 ---- Ajax技术促成了 Web 2.0 的诞生。

    2.2K21

    前端快速入门之概述

    JavaScript // 页面所有的(动态)事件,均由JavaScript绑定到html标签上,并由JavaScript完成整个交互动作的执行,包括鼠标事件、前后端的请求事件等等。...分析上述例子中的词语: 点击:由JavaScript完成,会触发一个request请求 百度搜索框:本质是input标签,通过CSS样式修饰为用户所见的样子 显示搜索结果:先前的请求到达后台后,经过处理返回查询结果...(response),注意此刻的结果一般是一些数据(字符串),并非带样式(CSS)的html标签,所以还需要进行转换,这个将数据转换为html代码的过程仍然由JavaScript来完成。...浏览器debug技巧(一般使用) F12/network 看加载的请求 F12/console 看加载出现的异常(info、error、warning) F12/Elements/Style 看样式(盒模型...servlet方式 //前端发送请求url,后端拦截匹配对应后台处理,完成后返回结果(全局、需刷新) ajax方式 //流程同上,但返回结果被控制在提交请求的ajax域内(局部结果,无刷新),可在不全局刷新页面的情况下对局部内容进行更新

    1.8K20

    前端开发语言有哪些?需要掌握什么?

    2、css样式代码 控制html代码显示,html语言只是网页的标记,更好的在网页上展示想要的效果由css样式来控制,建议手写css样式代码,手写的更精简重用性更高。...4、jQuery 由javascript开发出来的开源的库,集成了所有javascript功能,让web前端开发人员写更少的代码实现更多的功能,javascript脚本学起来是有一定难度的,但jQuery...也可以关注我的微信公众号:【前端留学生】 每天更新最新技术文章干货。 5、html5和css3 html标记和富应用,精简代码,功能更强大,网站前端开发人员有必要掌握和使用它。...6、Ajax 相当于在用户和服务器之间加了—个中间层AJAX引擎,使用户操作与服务器响应异步化。...并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求,特别是局部刷新。

    3.1K10

    金九银十求职季,前端面试大全送给你

    主要分以下几个方边来说: - css和html - javascript - vue - 微信小程序 css和html 1、Doctype作用?...和html: 可以按上文说的doctype区分也可以使用标签区分 5、html语义化理解 语义化是html结构更清晰,便于浏览器解析,利于SEO搜素,使代码更好理解,便于维护 6、不使用borer新建一个...请求成功并且服务器创建了新的资源 - 202 Accepted 服务器已接受请求,但尚未处理 - 301 Moved Permanently 请求的网页已永久移动到新位置。...实例已完成以下的配置:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到html页面中。此过程中进行ajax交互。...wxss的图片引入需使用外链地址; 没有Body;样式可直接使用import导入 49、小程序关联微信公众号如何确定用户的唯一性?

    1.9K20

    你不知道的web前端(上)

    html构成了网页的结构,css描述网页的样式,javascript完成事件逻辑比如点击、悬浮事件,ajax完成了前端和后台的通信。...如果没有css样式,html原始的控件是相当丑陋的,我们来看下没有任何样式修饰的按钮长这样: 使用了样式修饰的按钮长这样: 这里面加入了背景色、圆角、字体颜色、边框样式。...四、颠覆的ajax ●● ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...在古老年代,没有ajax的情况下,要想拉取一个接口数据,必须要刷新整个网页,但是ajax只需要通过一个对象来发起http请求,不用刷新整个网页,就可以获取到后台返回的数据。...UI组件库封装了很多html原生的控件,并赋予简洁通用的样式,使用UI组件库可以快速的开发一个网站,降低了很多开发成本。

    2.3K40

    JavaWeb学习-Ajax-1-Ajax简介

    JavaWeb学习-Ajax-1-Ajax简介 进入到一个新的知识点的学习,这个知识点叫做Ajax,指的是异步的javascript和xml,Ajax不是一种编程语言,而是一种用于创建更好更快,交互性更强的...web应用程序技术,是基于Javascript xml css html新用法。...Ajax涉及技术名词解释 JavaScript:更新局部的网页 XML:一般用于请求数据和响应数据的封装 XMLHttpRequest对象:发送请求到服务器并获得返回结果 CSS:美化页面样式 异步:发送请求后不等返回结果...JavaScript中XMLHttpReuqest对象是整个Ajax技术的核心,它听过了异步 发送请求的能力。 3. 同步请求和异步请求对比 4. ...参数指定是否使用异步请求,值为true或者false,默认是true send(context) 发送请求context指定请求的参数,一般情况下我们给传null,这个参数相当于请求正文,如果是get请求

    66430

    求职 | 史上最全的web前端面试题汇总及答案2

    然而,在以下情况中,请使用 POST 请求: ①无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)。...HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式。...使用bind()方法注册事件,但通常我们使用与事件同名的方法注册更方便,如:click()、hover()等。 4、如何获取Html内容?如何获取文本内容?如何获取属性值?如何获取input值?...可以使用html()获取html内容。 使用text()获取文本内容。 使用attr()可以获取属性值,使用css()可以获取样式属性值。...(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数。

    8.4K20

    网站前端性能优化

    但一般要求减少DNS查询次数,如同一个页面的请求资源尽量少的使用不同的主机名,可以减少网站并行下载的数量。但很多网站为了加速下载资源特意用了多个主机名,这样可以并行下载资源。...外部引用JavaScript和CSS 如果通过引用外部JavaScript和CSS的形式,因为浏览器会缓存这些资源,下次访问时可以使得页面加载更快,而如果将它们写在HTML中每次访问页面时都会再次加载。...精简JavaScript和CSS 删除JS和CSS中的空白换行,注释等,使用混淆把JS中的长变量换成短变量,可以缩小他们的体积,减少请求数据所占用的网络带宽. 11....使Ajax可缓存 Ajax如果使用POST请求的话,浏览器通常会假定用户是提交数据给服务端的,所以自然不会缓存,因为有数据提交就意味着服务端要所处理,而get形式的Ajax请求却可以缓存,如果对安全性没有特别高要求的可以使用...get形式的Ajax请求。

    2.4K20

    WEB前端知识体系精简

    但在浏览器中,有一些任务是非常耗时的,比如ajax请求、定时器、事件等,为了保证非耗时任务不受影响,Javascript 在执行环境中维护了一个异步队列(也叫工作线程),并将这些耗时任务放入队列中进行等待...为了防止XSS攻击,浏览器对Ajax请求做了限制,不允许Ajax 跨域请求服务器,只允许请求和当前地址同域的服务器资源。...js 文件请求,服务器返回后立即执行该脚本,这个过程也会阻塞html的解析; 引擎开始解析 body 里面的内容,如果标签里引用了css 样式,就需要解析刚才下载好的css文件,然后用css来设置标签的样式属性...在接下来600秒内,如果有请求这个资源,浏览器不会发出 HTTP 请求,而是直接使用本地缓存的文件。 Last-Modified 是标识文件在服务器上的最新更新时间。...Etag 和 Last-Modified 可根据需求使用一个或两个同时使用。两个同时使用时,只要满足基中一个条件,就认为文件没有更新。

    1.5K41

    前端科普系列(1):前端简史

    当请求这个页面时,返回这个 html 文件。 再后面一点,服务端变得复杂了一些,html 页面开始使用各种模板来写,譬如 Java 系列的 FreeMarker,还有 ASP 、 PHP 等等。...JS 脚本可以独立向服务器请求数据,拿到数据后,进行处理并更新网页,这个过程中,后端只负责提供数据,其他事情都由前端来做。...有了 Ajax 后,我们在当前页面可以重新获取数据,并更新页面内容。但当我们切换页面,也就是有页面跳转时,整个过程会从头再来一次。...精益求精的前端开发者们这个时候就在考虑,既然 Ajax 可以在当前页面获取数据并随时更新当前页面,那是不是可以做到切换页面时也只通过 Ajax 获取数据更新页面,而不全部重新加载呢? 答案当然是可以!...这就是单页应用,所有的资源只在第一次页面请求时被加载,后面都只会发起 Ajax 请求获取数据而已。

    1.2K20

    网站项目开发学习手册

    JavaScript根据用户需求,执行不同操作,其中不乏修改网页结构和渲染样式的操作....HTML HTML文档 结构标签语言,用来描述整个网站的结构 其由各种不同 各种样式的HTML标签 CSS CSS负责 标签选择器 和样式渲染 负责网页的渲染....通过标签选择器 选择HTML标签 进行样式渲染....请求和响应 服务端和客户端 Ajax 异步请求 其存在的意义是革命性的,可以使网页局部刷新,而不用频繁的传递整个页面,可以根据网页功能 业务需求,在任何位置 发送请求 jQuery 高效的JavaScript...基于JavaScript的框架.可以快速高效的执行JavaScript所能执行的DOM和BOM操作 其还封装了Ajax,可以更加方便的使用Ajax进行异步请求 JSON 目前流行的数据格式,可以描述复杂的对象类型

    2.7K60

    【愚公系列】2023年06月 Bugku-Web(滑稽)

    监控和调试 AJAX 请求:开发者工具可以监控和调试 AJAX 的请求和响应,帮助开发人员识别请求错误并提供更好的用户体验。...监控和调试 AJAX 请求:开发者工具可以监控和调试 AJAX 的请求和响应,帮助开发人员识别请求错误并提供更好的用户体验。...在窗口中,用户可以查看网页的 HTML、CSS 和 JavaScript 代码,检查网页元素的样式、尺寸等各种属性,模拟不同的屏幕大小和设备类型,调试页面中的 JavaScript 代码,监控网络请求等等...不同浏览器的开发者工具在功能和界面上可能略有不同,但都提供了类似的基本功能。浏览器中F12是调试工具,也称为开发者工具。它提供了一种在浏览器中直接检查、调试和修改网站代码和样式的方法。...在窗口中,用户可以查看网页的 HTML、CSS 和 JavaScript 代码,检查网页元素的样式、尺寸等各种属性,模拟不同的屏幕大小和设备类型,调试页面中的 JavaScript 代码,监控网络请求等等

    15500

    HTML5 CSS3

    IE8/IE7/IE6支持通过 document.createElement 方法产生的标签,可以利用这一特性让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当然最好的方式是直接使用成熟的框架...新标签, 浏览器支持新标签后,还需要添加标签默认的样式: * 当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架 ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持 使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject...无法使用缓存文件(更新服务器上的文件或数据库) 2. 向服务器发送大量数据(POST 没有数据量限制) 3. 发送包含未知字符的用户输入时,POST 比GET 更稳定也更可靠 9、ajax 是什么?...18、ajax请求时,如何解释json数据 使用eval()或者JSON.parse() 鉴于安全性考虑,推荐使用JSON.parse()更靠谱,对数据的安全性更好。

    4.2K40

    一个小时学会jQuery

    jQuery凭借简介的语法和跨浏览器的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发AJAX的操作。...class属性引用样式表中的类样式,因为类样式的可重用,所以多个元素可以引用同一个样式。...默认情况下,请求总会被发出去,但浏览器有可能从他的缓存中调取数据。要禁止使用缓存的结果,可以设置cache参数为false。...返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的.abort()可以在请求完成前挂起请求。  ...注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 url   String (默认: 当前页地址) 发送请求的地址。

    22.4K71
    领券