宝哥软件园

Ajax用法概述

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

首先,什么是Ajax

Ajax的英文全称是“异步JavaScript和XML”,是一种创建交互式网页的开发技术。

二、Ajax技术的核心

Ajax是一系列相关技术的融合,其核心包括XMLHttpRequest、JavsScript和DOM技术,不同的数据格式可能会用到Json或XML技术。

XMLHttpRequest是其核心内容,可以为页面中的javascript脚本提供特定的通信方式,从而使页面中的javascript脚本与服务器动态交互。XMLHTTPRequest最大的优点是页面中的JavaScript脚本可以直接与服务器交互,无需刷新页面,从而实现无页面刷新的效果。

Iii .XMLHttpRequest方法属性的描述

1.方法描述

Abort()停止当前请求

GetAllResponseHeaders()以键/值对的形式返回HTTP请求的所有响应头

GetResponseHeader(“头”)返回指定头的字符串值

Open ('method ',' URL ',[asyncflag],['username'],['password'])建立对服务器的调用。方法参数可以是GET、POST或PUT。

url参数可以是相对URL或绝对URL。该方法还包括三个可选参数,即异步、用户名和密码

发送(内容)向服务器发送请求

Setrequestheader ('header ',' value ')将指定的标头设置为提供的值。在设置任何标题之前,必须调用Open()。

设置标题并与请求一起发送(post方法必须)

XMLHttpRequest对象属性描述

2.方法描述

Onreadystatechange事件触发器,每次状态改变时都会触发这个事件处理程序,通常会调用一个JavaScript函数

readyState请求的状态。有五种可能的值:0=未初始化,1=加载,2=加载,3=交互,4=完成

来自响应文本服务器的响应返回数据的文本。

responseXML服务器的响应返回数据的DOM兼容的XML文档对象,可以解析为DOM对象。

响应服务器返回的主题(非文本格式)

响应流服务器返回的数据流

状态服务器的HTTP状态代码(例如,404='在末尾找到文件',200='成功'等。)

statustext服务器返回的StatusText信息,HTTP状态码对应的文本(OK或Not Found等)。)

四、Ajax的工作原理

AJAX的工作原理相当于在用户和服务器之间增加了一个中间层,使用户操作与服务器异步。并非所有用户请求

所有这些都被提交给服务器,例如一些数据验证和数据处理,只有在确定需要从服务器读取新数据时,才会交给AJAX引擎本身

AJAX引擎将请求提交给服务器。如图所示:

动词(verb的缩写)Ajax的优势

1.减轻服务器负担,提高网站性能。

2.页面没有刷新和更新,减少了用户等待网站加载的时间。

3.用户体验更友好,可以避免白屏。

4.Ajax是基于标准化和广泛使用的技术。几乎所有主流浏览器都支持这项技术,ye不需要单独安装插件。

5.Ajax可以将Web中的页面和应用分开,便于分工协作。

第六,Ajax的缺点

1.它不能很好地支持移动设备。

2.Ajax杀死了后退按钮,破坏了浏览器的后退机制。

3.安全问题。例如跨站点脚步攻击、SQL注入攻击、基于凭证的安全漏洞等。

4.对搜索引擎的支持很弱。

5.破坏程序的异常机制。至少目前来看,像ajax.dll和ajaxpro.dll这样的ajax框架会破坏程序的异常机制。

使调试变得困难。

七、使用原则

1.Ajax应用程序场景

形式驱动的交互

深层树导航

用户之间的快速通信响应

类似于投票、是/否等不相关的场景

过滤数据和处理相关数据的场景

常见的文本输入提示和自动完成场景

2.Ajax不适用于场景

部分简单形式

搜索

基本导航

替换大量文本

演示文稿的处理

八、原生AJAX编写

var XHR=null;如果(窗口。XMLHttpRequest) {//非IE内核XHR=new XMLHttpRequest();} else if(窗口。activexobject) {//IE内核,其中早期版本的IE编写方式不同,可以查询xhr=new ActiveX object(' Microsoft . xmlhttp ');} else { XHR=null;}if(XHR){XHR.open('GET ',' AJaxserver . action ');xhr . onreadystatechange=function(){//readystate值说明//0,初始化,Xhr对象已创建,open//1尚未执行,load,open方法已调用,但请求尚未发送//2,加载已完成,请求已发送//3,交互,可接收部分数据//状态值说明//200:成功//404:未找到文件、查询或URL//500:服务器生成内部错误if (xhr。readystate==4xhr。status==200){//返回的内容可以在这里处理//一般会返回JSON或者XML数据。//主动发布,XHR=null表示JS本身会回收;}};xhr . send();}以上是边肖介绍的Ajax用法的总结,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+