ajax的原理以及用法(ajax的使用方法和原理)

http://www.itjxue.com  2023-01-26 06:45  来源:未知  点击次数: 

AJAX是什么?

AJAX是创建交互式网页应用的网页开发技术的一种。

Ajax = 异步?JavaScript?和 XML 或者是 HTML(标准通用标记语言的子集)。可以用于创建快速动态网页的技术。在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

扩展资料

Ajax 开发与传统的?B/S开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于 Ajax 依赖浏览器的 JavaScript 和XML,浏览器的兼容性和支持的标准也变得和 JavaScript 的运行时性能一样重要了。

综合各种变化的技术和强耦合的客户服务端环境,Ajax 提出了一种新的开发方式。Ajax 开发人员必须理解传统的?MVC?架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑 B/S 环境的外部和使用 Ajax 技术来重定型 MVC 边界。

最重要的是,Ajax 开发人员必须禁止以页面集合的方式来考虑 Web 应用而需要将其认为是单个页面。一旦 UI 设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。

参考资料来源:百度百科-ajax

AJAX的具体工作原理是什么?

Ajax和服务器端技术毫不相关;DOM模型是Ajax最本质的技术;在使用Ajax控件前理解它们的实现;学好JavaScript

;Ajax点缀:CSS

观点一:Ajax和服务器端技术毫不相关

严格的说,与传统web开发相比,Ajax是完完全全的客户端技术。由于很多控件封装了客户端和服务器端的通信过程,因此很多问题也因通信而起。事实上,不论何种Ajax技术,服务器端都是返回的一个纯文本流,再由客户端来处理这个文本。这段文本可以是xml格式,也可以是一个Html片段,也可以是一段JavaScript脚本,或者仅是一个字符串。服务器端仅仅是作为一个数据接口,客户端使用XMLHttpRequest对象来请求这个页面,服务器端在页面内写入结果文本,这个过程和普通的web开发没有任何区别。所不同的只是,客户端在异步获取结果后,不是直接显示在页面,而是由客户端的Javascript脚本处理后再显示在页面。至于各种控件所谓的能返回DataSet对象,Date对象,或者其他的数据类型,都是封装了这个处理过程的结果。

观点二:DOM模型是Ajax最本质的技术

之所以没有把XMLHttpRequest列为最本质的技术,因为本人觉得它实在是太简单了,它只是可以让浏览器在后台请求一个页面,并将其内容交给JavaScript处理。真正的核心应该是:DOM模型,即文档对象模型。在DOM模型里,Html标记都被认为是一个对象,例如:div对象,table对象等等。DOM模型就规定了这些对象所具有的属性、方法和事件。通过这些性质,可以对一个已经显示于浏览器的页面进行内容的修改,例如增加节点、修改节点位置,删除节点等等。而不仅仅是一个innerHTML属性这么简单,虽然这是一个很有用的属性。

观点三:在使用Ajax控件前理解它们的实现

使用Ajax控件的确可以提高效率,但如果你空中楼阁般使用控件,那就得不偿失了。从一个控件换到另外一个控件又会有一个漫长的学习曲线。所以应该从底层了解其,况且Ajax实在不是什么高深的技术。其实任何东西的最底层其实都是简单的,但如果封装了这些底层的东西,事情会变得复杂和难以理解。以Asp.net为例,它的定制特性可以使得只要在方法前加上[ajax

method]类似这样的标志就可以称为一个异步方法,相信这使得Asp.net的Ajax开发显得更加“高效”或者是“神秘”,而更多的事情则被封装了。同样记住一条,任何对服务器端的请求仅仅是返回纯文本,我们不一定要依赖于封装好的处理过程,而完全可以自己来实现。

观点四:学好JavaScript

在大多数人看来,JavaScript总不是那么一种正规的语言,随便copy一段就碰巧能运行,学过c之类的人,一看也能看懂,而且在浏览器中常常有脚本错误提示,所以潜意识觉得总不能付之以大任。事实上,要学好Ajax,这就完全是一种错误的看法。javascript作为一种脚本语言,其语法的确不是很严格,但并不妨碍其完成诸多复杂的任务,没有JavaScript,就没有Ajax。所以本人强烈建议,学Ajax前,一定要好好研究一番JavaScript,一般来讲,如果能顺利看懂prototype框架的代码(如:prototype-1.3.1.js),你的JavaScript水平就基本过关了。同时对DOM模型也可以算有一个基本的了解。

观点五:Ajax点缀:CSS

用JavaScript控制CSS其实很简单,基本上每个DOM对象都有一个style对象,只要把css属性里的"-"去掉,并让随后的字母变为大写就可以作为属性使用了,例如:element.style.backgroundColor="#f00";在css是:选择符

{background-color:#f00}

采纳哦

ajax请求原理

望采纳

一、Ajax原理是什么

AJAX全称(Async Javascript and XML),即异步的JavaScript 和XML

是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面

流程图如下:

校长想找班主任汇报工作,就委托秘书去叫班主任自己就接着做其他事情,直到秘书告诉他班主任已经到了,最后班主任跟领导汇报工作

Ajax请求数据流程与“校长想找班主任汇报一下工作”类似,上述秘书就相当于XMLHttpRequest对象,校长相当于浏览器,响应数据相当于班主任

浏览器可以发送HTTP请求后,接着做其他事情,等收到XHR返回来的数据再进行操作

二、实现过程

实现Ajax异步交互需要服务器逻辑进行配合,需要完成以下步骤:

建 Ajax的核心对象 XMLHttpRequest对象

通过 XMLHttpRequest 对象的 open() 方法与服务端建立连接

构建请求所需的数据内容,并通过XMLHttpRequest对象的 send() 方法发送给服务器端

XMLHttpRequest 对象提供的 onreadystatechange 事件监听服务器端你的通信状态

接受并处理服务端向客户端响应的数据结果 将处理结果更新到 HTML页面中

2.1创建XMLHttpRequest对象

通过XMLHttpRequest() 构造函数用于初始化一个 XMLHttpRequest 实例对象

const xhr = new XMLHttpRequest();

1

2.2与服务器建立连接

通过 XMLHttpRequest 对象的 open() 方法与服务器建立连接

xhr.open(method, url, [async][, user][, password])

1

参数说明:

method:表示当前的请求方式,常见的有GET、POST

url:服务端地址

async:布尔值,表示是否异步执行操作,默认为true

user: 可选的用户名用于认证用途;默认为null

password: 可选的密码用于认证用途,默认为null

2.3给服务端发送数据

通过 XMLHttpRequest 对象的 send() 方法,将客户端页面的数据发送给服务端

xhr.send([body])

1

body: 在 XHR 请求中要发送的数据体,如果不传递数据则为 null 如果使用GET请求发送数据的时候,需要注意如下:

将请求数据添加到open()方法中的url地址中

发送请求数据中的send()方法中参数设置为null

2.4绑定onreadystatechange事件

onreadystatechange 事件用于监听服务器端的通信状态,主要监听的属性为XMLHttpRequest.readyState ,

关于XMLHttpRequest.readyState属性有五个状态,如下图显示:

只要readyState属性值一变化,就会触发一次readystatechange事件

XMLHttpRequest.responseText属性用于接收服务器端的响应结果

举个例子:

const request = new XMLHttpRequest()

request.onreadystatechange = function(e){

if(request.readyState === 4){ // 整个请求过程完毕

if(request.status = 200 request.status = 300){

console.log(request.responseText) // 服务端返回的结果

}else if(request.status =400){

console.log("错误信息:" + request.status)

}

}

}

request.open('POST','

request.send()

三、封装

通过上面对XMLHttpRequest对象的了解,下面来封装一个简单的ajax请求

//封装一个ajax请求

function ajax(options) {

//创建XMLHttpRequest对象

const xhr = new XMLHttpRequest()

//初始化参数的内容

options = options || {}

options.type = (options.type || 'GET').toUpperCase()

options.dataType = options.dataType || 'json'

const params = options.data

//发送请求

if (options.type === 'GET') {

xhr.open('GET', options.url + '?' + params, true)

xhr.send(null)

} else if (options.type === 'POST') {

xhr.open('POST', options.url, true)

xhr.send(params)

//接收请求

xhr.onreadystatechange = function () {

if (xhr.readyState === 4) {

let status = xhr.status

if (status = 200 status 300) {

options.success options.success(xhr.responseText, xhr.responseXML)

} else {

options.fail options.fail(status)

}

}

}

}

使用方式如下:

ajax({

type: 'post',

dataType: 'json',

data: {},

url: '

success: function(text,xml){//请求成功后的回调函数

console.log(text)

},

fail: function(status){请求失败后的回调函数

console.log(status)

}

})

AJAX 的原理及实现方式??

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是页面的部分从服务器获得请求数据。实现方式就利用页面部分刷新数据来给用户更好的体验。其中 XMLHttpRequest 是ajax的核心机制,Ajax本身是很多技术的集合,里面有很多要说的,自己可以从一些ajax的实例学习下。

Ajax的工作原理是什么?

Ajax的工作原理AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。主要包含了以下几种技术Ajax(Asynchronous JavaScript + XML)的定义基于web标准(standards-based presentation)XHTML+CSS的表示;使用 DOM(Document Object Model)进行动态显示及交互;使用 XML 和 XSLT 进行数据交换及相关操作;使用 XMLHttpRequest 进行异步数据查询、检索;使用 JavaScript 将所有的东西绑定在一起。

Ajax工作原理是什么?

Ajax工作原理是提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。

Ajax,国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。

(责任编辑:IT教学网)

更多

推荐网络创业文章