AJAX的安全性
Web开发者不会注意到由 “AJAX(Asynchronous JavaScript And XML)”所带来的激情。不费力气就能创建像Google Suggest那样的智能网站或者像Gmail那样基于Web的应用程序,这在很大程度上要归功于这种技术。然而,伴随着AJAX应用程序的发展,我们发现了它的一些不足之处,我们发现它的安全漏洞也在逐渐变大,就像慢慢地把基于AJAX的站点放入了一颗定时炸弹中。
AJAX的好处
在当年“Web应用程序”的美好时代,事情非常简单。你填写了一个表单,点击“提交”按钮,然后当前屏幕就消失了,等待一小会儿后你就转入到了下一个页面。今天的状况已经不是这样的了,用户需要的是一种就像任何桌面应用程序那样流畅、快捷和人性化的Web体验。
AJAX经常是和DHTML(Dynamic HTML)一起协作的,它的顺利执行需要允许网页中的JavaScript代码和web服务器在后台无缝通讯。比方说,当你开始在Google Suggest的搜索框中输入东西时,web页面就和服务器在后台开始交换数据,然后会给出一些你可能需要的词条等。所有的这一切都不需要页面刷新或者按下任何按钮。同样这也就是像Gmail那样的应用程序怎么能对实时拼写检查做的那么好的原因。
AJAX怎样工作
AJAX复杂的原理已经超出了今天所要阐述的范围,这里只简单描述一下。你的页面上的JavaScript代码能够在不依赖于用户的情况下和你的Web服务器取得联系。这里面起核心作用的就是JavaScript的XMLHttpRequest对象,这个对象能够被就像用户敲击键盘或者时钟事件在后台或者异步触发(也就是术语异步JavaScript和XML)。
如果你在Google Suggest中输入“ajax”后,就会得到像我输入后得到的服务器请求一样:
1. www.google.com/complete/search?hl=en&js=true&qu=aj
2. www.google.com/complete/search?hl=en&js=true&qu=aja
3. www.google.com/complete/search?hl=en&js=true&qu=ajax
在这个术语中的XML部分有一点会引起人们的误解,其实这一部分是没有任何意义的。它是从JavaScript对象得来的名字,同时许多 AJAX风格的应用程序使用了XML,这个对象能够就任何事务向服务器发出一个请求。甚至JavaScript代码本身也能够被取回和评估。继续完成我的输入“ajax example”,将会从Google的服务器产生下面的回应:
sendRPCDone(frameElement, “ajax example”, new Array(”ajax example”, “ajax examples”), new Ar
相关文档:
这是一个基于prototype.js的ajax分页,运用了spring框架,自定义分页标签,每次进入列表页面时,把列表存入session,分页只对session存储的列表进行分页,不需要再去查询数据库,性能会高些
首先在web.xml中配置spring监听和servlet
web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app versi ......
在一个项目中分级选择行政区划时用到AJAX进行无刷新级联,我在页面中编码用的是UTF-8,总是报脚本错误,
我把页面编码换成GBK又是正常的,后来在网上搜索了一下,在引入JS时加入编码就可以了,如下:
<script language="Javascript" src="js/jquery.js" charset="gb2312"></script> ......
jquery中用ajax(貌似编码默认为utf-8)如果有中文的话 会出现乱码 下面的解决办法之一:
以下是js中的代码
classname=encodeURI($('#classname').val());
classdescription=encodeURI($('#classdescription').val());
actionArr={classname:classname,classdescription:classdescription};
$.post("product_class ......
Thickbox
-
基于
jQuery
,支持 AJAX,轻量级的而且比较高效。支持图片与HTML内容。大小约为
40k,目前还可作为 WordPress
的插件使用。这个js的优点在于与,父级的原页面滚动条随鼠标滚动的时候,弹出的层并不移动,而始终处于浏览器的固定位置。
GreyBox
- 创建 iframe 的弹出界面,可使用图片 ......
<script type="text/javascript">
function addUrl(){
//1、设置请求url地址
var name = document.getElementById("name").value;
var text = document.getElementById("url").value;
var url = "insertUrl.do?name="+name+
"&url="+text+"&time"+new Date() ;
//2、创建xmlHttpRequest对象
x ......