日期:2014-05-16 浏览次数:20327 次
?? Ajax 一个从06年开始在国内被关注的技术,Ajax给人带来的体验是具有颠覆性的。 一个不用刷性就能展现请求、访问、处理数据的能力。 一开始就被这个所吸引了,尽管有很多被人认为的潜在问题存在,但是与之带来的优点比起来显得不那么重要了。记得07年刚进公司做的一个研发项目全部都是用的是Ajax,当时并没有使用什么js框架 所有的ajax访问都是自行编写的一个公共js。转眼间几年过去了js框架变得更加成熟更加具有吸引力了,现在如果重新再自己去写简直就是浪费人力物力。 找到一个学习曲线短并且具有强大功能的js框架是每个系统架构设计初期都会面临的问题。电信CRM2.0项目公司用了Jquery而没有使用EXT,我想主要还是EXT有些庞大担心影响效率吧,还有就是EXT商用时时收费的这些仅仅是自己的猜测。 如果让我去做抉择,毫无疑问会选择EXT。 说远了,看看ext对Ajax的时限,相当简单:
??
??? 下面我们时限一个通过服务器返回时间,并展示的Ajax例子:
1. 创建返回时间信息的ServerLet
???
?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ??response.setContentType("text/html;charset=utf-8"); ??java.io.PrintWriter writer=response.getWriter(); ??writer.write(request.getParameter("name")+"服务器时间"+new java.util.Date().toLocaleString()); ??writer.flush(); ??writer.close(); ?}
?
2. 编写访问并获取返回数据的js代码
?
Ext.onReady(function() { var button=new Ext.Button({ id: "ajaxBtn", text: "AjaxTest", width: "200", renderTo: Ext.getBody() }); var ajaxTest=function (){ Ext.Ajax.request({ url : 'MyServlet', success : function(response, config) { Ext.MessageBox.alert('Success',response.responseText); }, failure : function() { Ext.MessageBox.alert('Error', 'Erro'); }, method : 'POST', params : { name : 'VerRan' } }); } Ext.get("ajaxBtn").on("click",ajaxTest); });
?3. 编写HTML
?? 一如既往的什么都没有只是引入必须的js和css
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <link rel="stylesheet" type="text/css" href="css/resources/css/ext-all.css" /> <script type="text/javascript" src="js/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="js/ext-all.js"></script> <script type="text/javascript" src="js/AjaxTest.js"></script> <script type="text/javascript"> </script> </head> <body> AjaxTest </body> </html>
?
?
小结:
??? EXT 对ajax的封装相当简单易懂,并且具备成功,失败情况下的 回调函数的设置,入参并且可以支持各种类型,简单类型,xml,json等。
?
?