iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >ajax的技术和原理是什么
  • 938
分享到

ajax的技术和原理是什么

2024-04-02 19:04:59 938人浏览 安东尼
摘要

本篇文章为大家展示了ajax的技术和原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ajax所包含的技术 大家都知道ajax并

本篇文章为大家展示了ajax的技术和原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

ajax所包含的技术
大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。
1.使用CSS和Xhtml来表示。
2. 使用DOM模型来交互和动态显示。
3.使用XMLHttpRequest来和服务器进行异步通信。
4.使用javascript来绑定和调用。

在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于WEB标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目前几乎所有的主流浏览器都支持它。

ajax原理和XmlHttpRequest对象

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。
XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。
所以我们先从XMLHttpRequest讲起,来看看它的工作原理。
首先,我们先来看看XMLHttpRequest这个对象的属性。
它的属性有:
onreadystatechange 每次状态改变所触发事件的事件处理程序。
responseText 从服务器进程返回数据的字符串形式。
responseXML 从服务器进程返回的DOM兼容的文档数据对象。
status 从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)
status Text 伴随状态码的字符串信息
readyState 对象状态值
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

4 (完成) 数据接收完毕,此时可以通过通过responseXml和responseText获取完整的回应数据。

ajax的优点
Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点:
1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。
  2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
  3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序

ajax的缺点
下面我着重讲一讲ajax的缺陷,因为平时我们大多注意的都是ajax给我们所带来的好处诸如用户体验的提升。而对ajax所带来的缺陷有所忽视。
下面所阐述的ajax的缺陷都是它先天所产生的。
1、ajax干掉了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)
但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,和ajax框架所要求的快速开发是相背离的。这是ajax所带来的一个非常严重的问题。
2、安全问题
技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、sql注入攻击和基于credentials的安全漏洞等。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。至少从目前看来,像ajax.dll,ajaxpro.dll这些ajax框架是会破坏程序的异常机制的。关于这个问题,我曾经在开发过程中遇到过,但是查了一下网上几乎没有相关的介绍。后来我自己做了一次试验,分别采用ajax和传统的fORM提交的模式来删除一条数据……给我们的调试带来了很大的困难。
5、另外,像其他方面的一些问题,比如说违背了url和资源定位的初衷。例如,我给你一个url地址,如果采用了ajax技术,也许你在该url地址下面看到的和我在这个url地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。
6、一些手持设备(如手机、PDA等)现在还不能很好的支持ajax,比如说我们在手机的浏览器上打开采用ajax技术的网站时,它目前是不支持的,当然,这个问题和我们没太多关系。

上述内容就是ajax的技术和原理是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网html频道。

--结束END--

本文标题: ajax的技术和原理是什么

本文链接: https://www.lsjlt.com/news/80695.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ajax的技术和原理是什么
    本篇文章为大家展示了ajax的技术和原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ajax所包含的技术 大家都知道ajax并...
    99+
    2022-10-19
  • CDN技术和原理是什么
    CDN技术,全称为内容分发网络(Content Delivery Network),是一种通过分布在全球各地的服务器来提供高效、可靠...
    99+
    2023-09-05
    CDN
  • chatgpt的技术原理是什么
    chatgpt的技术原理是通过人工的标注方式来训练出一种强化学习的冷启动模型和reward反馈模型,然后再通过强化学习的模式来学习出...
    99+
    2023-02-09
    chatgpt
  • ajax的原理和流程是什么
    Ajax的全称是Asynchronous JavaScript and XML,即异步JavaScript和XML。它是一种在Web...
    99+
    2023-05-13
    ajax的原理 ajax
  • docker技术的基本原理是什么
    Docker技术的基本原理是利用容器化技术实现应用程序的隔离和封装。其主要原理如下:1. 命名空间(Namespace):Docke...
    99+
    2023-10-10
    docker
  • cdn技术的工作原理是什么
    CDN(Content Delivery Network,内容分发网络)技术的工作原理是通过在全球各地分布的服务器节点上缓存网站的静...
    99+
    2023-06-05
    cdn技术 cdn
  • 使用ajax技术的好处是什么
    这篇文章给大家分享的是有关使用ajax技术的好处是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 使用ajax技术的好处:1、减轻服务器的负担,提...
    99+
    2022-10-19
  • Linux中容器技术的原理是什么
    今天就跟大家聊聊有关Linux中容器技术的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.1 隔离和共享在一个多员共用的开发环境或者一台服务器运行多个逻辑隔离的服务器进程...
    99+
    2023-06-15
  • 负载均衡技术原理是什么
    负载均衡技术的原理是将网络流量分配到多个服务器上,以实现更好的性能、可靠性和可扩展性。具体原理如下:1. 负载均衡器位于客户端和服务...
    99+
    2023-09-07
    负载均衡
  • 云服务器技术原理是什么
    云服务器(Cloud Docker)是一种基于云计算技术的服务器虚拟化平台,它可以通过动态加载资源、自动扩展服务器等方式来提高应用的性能和灵活性,从而帮助开发者和企业实现更加快速、弹性、可靠的应用部署和管理。 云服务器的主要原理是将计算、...
    99+
    2023-10-26
    原理 服务器 技术
  • Ajax工作原理是什么
    本篇内容主要讲解“Ajax工作原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ajax工作原理是什么”吧!1、ajax技术的背景 不可否认,ajax技术...
    99+
    2022-10-19
  • cdn加速技术的实现原理是什么
    CDN加速技术的实现原理是将内容分发到全球各地的服务器节点上,用户访问时就近选择最优的节点获取内容,从而实现加速访问的效果。具体实现...
    99+
    2023-06-11
    cdn加速技术 cdn
  • PHP标签模板技术的原理是什么
    PHP标签模板技术的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们在对PHP标签模板的理解上多少都会存在一些误区,因为它是一项比较难以掌握的技术。那么,我们希...
    99+
    2023-06-17
  • iOS超级签名的技术原理是什么
    这期内容当中小编将会给大家带来有关iOS超级签名的技术原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。超级签名是什么样的简单来说,就是把添加苹果设备udid然后申请iOS证书然后打包进行真机测试的...
    99+
    2023-06-05
  • JVM Log技术原理及用法是什么
    本篇文章为大家展示了JVM Log技术原理及用法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。介绍一下JVM Log的概念,初始化和释放,JVM Log各个class的实现除了很自然地运用了继...
    99+
    2023-06-17
  • 云服务器技术原理是什么类型的
    云服务器(Cloud Direct)是一种用于存储和共享数据的服务器技术,通过虚拟化技术为用户提供快速、稳定、低成本的云存储和共享服务。常见的云服务器有VMware、AWS和阿里云。 云服务器的技术原理如下: 服务器虚拟化技术:云服务器...
    99+
    2023-10-27
    原理 类型 服务器
  • Vue开发小程序的技术原理是什么
    这篇文章主要介绍“Vue开发小程序的技术原理是什么”,在日常操作中,相信很多人在Vue开发小程序的技术原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue开发小程序的技术原理是什么”的疑惑有所帮助!...
    99+
    2023-07-05
  • Android热修复技术原理中的代码热修复技术是什么
    本篇内容主要讲解“Android热修复技术原理中的代码热修复技术是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android热修复技术原理中的代码热修复技术是什么”吧!一、底层热替换原理1...
    99+
    2023-06-20
  • 云服务器技术原理是什么类型
    云服务器(Cloud Drive)是一种基于云计算技术的服务器,它通过网络将计算机和应用程序连接起来,使其可以使用互联网上的公共资源来执行任务,例如网站托管、数据备份、虚拟主机和云存储等。 云服务器提供了一种远程托管的方式,使得用户可以通...
    99+
    2023-10-26
    原理 类型 服务器
  • 云服务器技术原理是什么意思
    云服务器是一种虚拟化技术,将计算资源分配给各种云平台,使用户可以像使用本地服务器一样方便地使用和管理云平台资源。 云服务器使用虚拟化技术将不同的计算机或虚拟机分配到一个或多个云平台上,每个云平台都具有自己的基础设施和功能。云平台的计算资源...
    99+
    2023-10-26
    原理 服务器 技术
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作