xmlHttp 同步数据和异步数据有数据 异步无数据

主要由javascript和xml两种技术以一种新的方式组合成一门客户端技术.

AJAX是一种客户端技术可以和J2ee、.Net等服务器端技术进行交互。

AJAX并不是一门新的技术它是有很多已有的技术按一定的方式组合起来的:

2、同步数据和异步数据请求应答通信模型详解

以页面为中心,即使请求前后的两个页面非常类似服务器也要重新发送.

會打断用户的操作,因客户端每次操作后都要等待服务器的响应.刷新页面会丢失用户信息光标位置不

能对用户的请求做出立即的响应.由於HTML的限制,很多特殊效果很难实现.

1) 页面先前的内容丢失

2) 用户的下一步操作被中断

3) 页面信息进行局部更新时,整个页面要全部刷新.

}
在w3school上面看到一个关于异步传輸的例子在服务器端其用asp和php两种方式实现了该传输,在这里我将服务器端程序改装一下使用ejs完成相同功能

   1、在不重新加载页面的情况丅更新网页;

   2、在页面已加载后从服务器请求数据;

   3、在页面已加载后从服务器接收数据;


2、url:文件在服务器上的位置;


当请求发送到服务器的时候,就会去响应一下任务

点击(此处)折叠或打开

  1. 1: 服务器连接已建立
  2. 4: 请求已完成,且响应已就绪
上面就是整个XMLHttpRequest响应过程下面是例子;客户端代码不变,只改动服务器端代码
通过这个例子我们可以知道在服务器端选择ejs的优势,它可以让开发者在开发客户端界面和服务器端程序时使用相同的编程语言ejs只是js的一个模板补充。

给主人留下些什么吧!~~

}

有时候我们需要根据参数不同来引入不同的js文件用html直接写标签满足不了我们的需求,总结几种方法以及同步数据和异步数据异步加载的各种需求


  

二.异步加载,并发执荇但引入js内容不能直接使用

 test();//在ie中不会出错,在firefox会出错,因为firefox默认为异步加载(在向服务器请求加载test.js文件的同时,继续向下执行了,调用test()方法,就自然找不到这个方法)

三.同步数据和异步数据加载,单步加载引入js内容可以直接使用

 oXmlHttp.onreadystatechange = function(){//其实当在第二次调用导入js时,因为在浏览器当中存在这个*.js文件了,它就不在访问服务器,也就不在执行这个方法了,这个方法也只有设置成异步时才用到
//1.True 表示脚本会在 send() 方法之后继续执行,而不等待来自服務器的响应,并且在open()方法当中有调用到onreadystatechange()这个方法通过把该参数设置为 "false",可以省去额外的 onreadystatechange 代码,它表示服务器返回响应后才执行send()后面的方法.
test();//即使马上调用也不会出错了.
 

2. ff动态加载js文件时,它默认为异步,要设置成同步数据和异步数据,加载完直接调用才不会出错

3. 无论ie还是ff在动态加载js内容時,没有请求服务器,不会存在异步问题

注:无论ie还是ff在页面加载js时(即执行整个页面),都是为同步数据和异步数据的加载,除非设置script的属性defer="true"(此属性好潒也只是对ie有效)

以上就是小编为大家带来的同步数据和异步数据异步动态引入js文件的几种方法总结的全部内容了希望对大家有所帮助,哆多支持脚本之家~

}

我要回帖

更多关于 同步数据和异步数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信