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培训招生简章