跟着ArthurXF学习Ajax
Ajax数据传输方式选择——跟着ArthurXF学习Ajax(2)
2007/01/06 12:32 ArthurXF
上次我教了大家如何选择Ajax类库,这次我们来选择一种安全高效的数据传输方式。
Ajax做为服务器异步通信的模式,大大提高了用户体验,可是Ajax传送的数据如何才是安全的,高效的?特别是传送一些敏感信息,如何保护这些信息不被窃取的呢?
首先我们来看看Ajax的数据传输原理。
Ajax的核心是使用XmlHttpRequest来传输数据的,看看下面的代码,就能更好了解Ajax数据传输方式:
从上面的代码可以看出XmlHttpRequest可以使用我们熟知的GET、POST的方式传输数据,可是Ajax毕竟是客户端程序,使用GET或者POST传输数据并不安全,而且对于大量数据传送,写N条GET、POST,或者频繁发送请求都是不理想的。那么就要使用发送xml数据。
不过说真的,因为XML的格式多变,每个人都可以写出N种格式,这样就给XML编码和解析带来了困难,你必须先了解XML的结构才能去编码和解析。所以我本人并不太喜欢XML这样的数据传输格式。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。也可以联系我QQ:29011218。
PHP培训招生简章
Ajax做为服务器异步通信的模式,大大提高了用户体验,可是Ajax传送的数据如何才是安全的,高效的?特别是传送一些敏感信息,如何保护这些信息不被窃取的呢?
首先我们来看看Ajax的数据传输原理。
Ajax的核心是使用XmlHttpRequest来传输数据的,看看下面的代码,就能更好了解Ajax数据传输方式:
function executeXhr(callback, url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = callback;
req.open("GET", url, true);
req.send(null);
} // branch for IE/Windows ActiveX version
else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = callback;
req.open("GET", url, true);
req.send();
}
}
}
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = callback;
req.open("GET", url, true);
req.send(null);
} // branch for IE/Windows ActiveX version
else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = callback;
req.open("GET", url, true);
req.send();
}
}
}
从上面的代码可以看出XmlHttpRequest可以使用我们熟知的GET、POST的方式传输数据,可是Ajax毕竟是客户端程序,使用GET或者POST传输数据并不安全,而且对于大量数据传送,写N条GET、POST,或者频繁发送请求都是不理想的。那么就要使用发送xml数据。
不过说真的,因为XML的格式多变,每个人都可以写出N种格式,这样就给XML编码和解析带来了困难,你必须先了解XML的结构才能去编码和解析。所以我本人并不太喜欢XML这样的数据传输格式。
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。也可以联系我QQ:29011218。
PHP培训招生简章
如何选择Ajax类库——跟着ArthurXF学习Ajax(1)
2007/01/05 18:10 ArthurXF
为了提高用户体验,改造网务通系统的方便性,我开始研究Ajax,结果我搜索了Google和Baidu的众多结果,发现真是众说纷纭,各有各的爱好,真是让初学者云里雾里摸不着头脑。还是让我来解释一下,到底什么是Ajax?
其实Ajax就是javascript对象XmlHttpRequest(服务器异步通信)的各种应用。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。更加简单的理解就使用javascript向服务器发出请求并可以接收服务器对于请求的反馈。
目前网上流行着很多的Ajax库,但是这些库其实属于两大阵营:
1.就是以Prototype为代表的Ajax底层库;
2.就是以dojo为代表的Ajax应用组件库;
Prototype仅仅是一套可以用简化的方法来写javascript的Ajax库,有很多的应用框架都是架构在Prototype上的,其代表为Rico,也就是这些框架调用Prototype来完成了一些Ajax组件供大家直接使用。如果我们想自己开发出一些Ajax效果的应用,那么我们就应该选择Prototype这样的底层库;
dojo本身就是一个Ajax的应用的组件模型,有大量的Ajax应用效果,我们不需要去考虑如何实现那些效果,而仅仅拿来套用一下就可以使用了。
所以我们在应用Ajax的时候,首先要明白我们到底需要是什么?到底是我们要自己开发Ajax效果呢?还是要直接使用Ajax效果?开发就选Prototype,使用就选dojo。
其实我们在很多开发的时候都不需要一整套完整的Ajax组件,仅仅需要Ajax实现一部分页面效果即可,这个时候我们就应该选择Prototype来作为我们开发Ajax的底层,效果部分当然就是由我们自己来写了。
只有在大规模应用Ajax的系统,我们才选择dojo这样的组件库,可以大大加快我们的开发进度,而且不用去疯狂的调试,要知道javascript还没有很好的调试器,所以我们还是不要给自己找麻烦了。
现在大家应该对自己在这么多Ajax类库中,如何选择适合自己用得有所了解了吧?什么!?还是不知道?那么加我QQ:29011218,我亲自指导你!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。也可以联系我QQ:29011218。
PHP培训招生简章
其实Ajax就是javascript对象XmlHttpRequest(服务器异步通信)的各种应用。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。更加简单的理解就使用javascript向服务器发出请求并可以接收服务器对于请求的反馈。
目前网上流行着很多的Ajax库,但是这些库其实属于两大阵营:
1.就是以Prototype为代表的Ajax底层库;
2.就是以dojo为代表的Ajax应用组件库;
Prototype仅仅是一套可以用简化的方法来写javascript的Ajax库,有很多的应用框架都是架构在Prototype上的,其代表为Rico,也就是这些框架调用Prototype来完成了一些Ajax组件供大家直接使用。如果我们想自己开发出一些Ajax效果的应用,那么我们就应该选择Prototype这样的底层库;
dojo本身就是一个Ajax的应用的组件模型,有大量的Ajax应用效果,我们不需要去考虑如何实现那些效果,而仅仅拿来套用一下就可以使用了。
所以我们在应用Ajax的时候,首先要明白我们到底需要是什么?到底是我们要自己开发Ajax效果呢?还是要直接使用Ajax效果?开发就选Prototype,使用就选dojo。
其实我们在很多开发的时候都不需要一整套完整的Ajax组件,仅仅需要Ajax实现一部分页面效果即可,这个时候我们就应该选择Prototype来作为我们开发Ajax的底层,效果部分当然就是由我们自己来写了。
只有在大规模应用Ajax的系统,我们才选择dojo这样的组件库,可以大大加快我们的开发进度,而且不用去疯狂的调试,要知道javascript还没有很好的调试器,所以我们还是不要给自己找麻烦了。
现在大家应该对自己在这么多Ajax类库中,如何选择适合自己用得有所了解了吧?什么!?还是不知道?那么加我QQ:29011218,我亲自指导你!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。也可以联系我QQ:29011218。
PHP培训招生简章