史上最详细的Ajax基础原理及使用教程

2022-12-22 0 1,025

具体来说,他们来简述下ajax是甚么?

Ajax = 触发器 JavaScript 和XML。

史上最详细的Ajax基础原理及使用教程

Ajax是一类用作建立加速静态页面的控制技术。

透过在前台与软件商小量统计数据传输,Ajax能使页面同时实现触发器预览。这意味着能在不再次读取整座页面的情况下,对页面的某部份展开预览。

现代的页面(不采用 Ajax)假如须要预览文本,要空载整座网页面

前会面到ajax是甚么,其主要就也是触发器递交,他们与否晓得并行和触发器递交的差别吗?

并行递交:当使用者推送允诺时,现阶段页面不能采用,伺服器积极响应页面到应用程序,积极响应顺利完成,使用者才能采用页面。

触发器递交:当使用者推送允诺时,现阶段页面还能竭尽全力采用,当触发器允诺的统计数据积极响应给页面,页面把数据表明出 。

Ajax组织工作基本原理

应用程序推送允诺,允诺交予xhr,xhr把允诺递交予服务项目,软件商销售业务处置,伺服器积极响应统计数据交予xhr第一类,xhr第一类接收统计数据,由javascript把统计数据写到页面上,如下表所示图所示:

史上最详细的Ajax基础原理及使用教程

Ajax允诺的五个步骤:

//第一步,建立XMLHttpRequest第一类var xmlHttp = new XMLHttpRequest();function CommentAll() {//第二步,注册回调函数xmlHttp.onreadystatechange =callback1;//{ // if (xmlHttp.readyState == 4) // if (xmlHttp.status == 200) { // var responseText = xmlHttp.responseText; // } //}//第三步,配置允诺信息,open(),get //get允诺下参数加在url后,.ashx?methodName = GetAllComment&str1=str1&str2=str2 xmlHttp.open(“post”, “/ashx/myzhuye/Detail.ashx?methodName=GetAllComment”, true); //post允诺下须要配置允诺头信息 //xmlHttp.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”); //第四步,推送允诺,post允诺下,要传递的参数放这 xmlHttp.send(“methodName = GetAllComment&str1=str1&str2=str2″);//”}//第五步,建立回调函数function callback1() { if (xmlHttp.readyState == 4) if (xmlHttp.status == 200) { //取得返回的统计数据 var data = xmlHttp.responseText; //json字符串转为json格式 data = eval(data); $.each(data, function(i, v) { alert(v); }); }}//前台方法 public void GetAllComment(HttpContext context) { //Params能取得get与post方式传递过来的值。 string methodName = context.Request.Params[“methodName”]; //QueryString只能取得get方式传递过来的值。 string str1 = context.Request.Form[“str1”]; //取得httpRequest传来的值,包括get与post方式 string str2 = context.Request[“str2”]; List comments = new List(); comments.Add(methodName); comments.Add(str1); comments.Add(str2); //ajax接受的是json类型,须要把返回的统计数据转给json格式 string commentsJson = new JavaScriptSerializer().Serialize(comments); context.Response.Write(commentsJson); }

1. 建立xmlHttpRequest第一类

2. 设置回调函数

3. 采用open方法与伺服器建立连接

4. 向伺服器推送统计数据

5. 在回调函数中针对不同的积极响应状态展开处置

AJAX是有很多用处的,接下来给他们介绍AJAX须要掌握的几个功能点:

1. 建立原生Ajax第一类

XMLHttpRequest 是 AJAX 的此基础,所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 第一类。那么他们下面来建立一个ajax第一类

const instance = new XMLHttpRequest();

这样他们就建立了一个用作展开ajax交互的第一类。

当然他们这儿提及一下老版本的ie5、ie6得javascript第一类都是采用ActiveX来同时实现的标准,所以没有XMLHttpRequest第一类。他们建立一个第一类采用这种方式

const instance = new ActiveXObject(“Microsoft.XMLHTTP”);

其实他们了解一下就行了,这块在你的代码也不用加上了,现在所有的网站应该都放弃了对低版本ie的支持,这个已经退出了历史舞台,了解一下情况即可。

2. Ajax推送允诺

具体来说来看一下XMLHttpRequest如何推送一个允诺到伺服器

const instance = new XMLHttpRequest(); instance.open(method,url,async); instance.send();

这里用到了两个方法,第一个open方法其实是配置ajax必要的信息,第二个send才是真正的发起允诺到伺服器。

3. Ajax透过readyState状态的变化接收伺服器积极响应

当允诺被推送到伺服器时,他们须要执行一些基于积极响应的任务,每当 readyState 改变时,就会触发onreadystatechange 事件,readyState 属性存有 XMLHttpRequest 的状态信息。

4. 进级苦恼之跨域允诺

跨域是所有前端都要去面对的一个棘手的问题,当你去允诺其他伺服器的资源时,浏览器安全限制会阻止该允诺。你的允诺不会到底伺服器,被浏览器阻止了,这也是遵循了同源策略。

那么如何去解决这个跨域呢,通用的有几种方法,但是核心都是须要伺服器去配合处置跨域,前端自己无法处置跨域。

第一个采用JsonP方法,这个方法其实也是须要前台去配合处理,由前台来展开允诺,然后将统计数据拼装在一个json第一类返回到前台,然后前台透过callback函数来展开操作。这个也比较繁琐。

第二种是服务项目端去放一个跨域文件crossdomain.xml放置到伺服器端,然后写上能跨域的ip地址。

第三种配置反向代理伺服器,透过代理伺服器他们也其实是代理伺服器去允诺外围,然后转发到他们的伺服器上。这样也能防止跨域。

以上是AJAX的知识总结,最后也推荐他们观看ajax的视频去学习,对于新手更易理解吸收,动力节点的Ajax学习讲义,透过对ajax的现代采用方式,结合json操作的方式,结合跨域等高级控制技术的方式,对ajax做一个全面的讲解。

式:关注+私信扣“1”

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务