Extjs学习总结之11前端与后台的数据交互ajax
2011-12-02 12:07
796 查看
终于谈到核心了,不管界面多漂亮,那只是样子,我们要做的最终还是和后台数据库打交道,我们如果让前端获取后台的数据呢?当然是使用ajax技术,extjs对ajax做了很好的封装,已经不需要我们手动的再写那么啰嗦的代码了,那么我们看看extjs是如何使用ajax方式向服务器发送请求和如何输出数据的呢?
首先是ajax.js
servlet:
效果图:注意想看效果图的话要启动服务器了,因为这使用到servlet技术了,需要依赖服务器。我用的是tomcat服务器
接下来是upload.js 完成上传工作,看extjs是如何实现的:
servlet:
当前html页面你也要写点东西,不然没有file文件啊。如果使用extjs也可以实现,之后再说。
注:在这里上传功能是可以实现的,但是response的响应信息在我这里没有弹出来,我查阅了一些信息,我觉得应该是乱码的问题,乱码的解决我们之后会说。
另外,上传组件我用的是cos,你可以自学一下。
首先是ajax.js
Ext.onReady(function(){ Ext.Ajax.request({ url:"../../../getDateServlet", success:function(response,config){ alert(config.url+","+config.method); Ext.MessageBox.alert("result",response.responseText); }, failure:function(){ Ext.MessageBox.alert("result","请求失败"); }, method:"post", params:{name:"吕鹏"} }); });
servlet:
package com.fenet.web.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") public class GetDateServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.print("姓名:"+request.getParameter("name") +" 现在时间是:"+new Date().toString()); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } }
效果图:注意想看效果图的话要启动服务器了,因为这使用到servlet技术了,需要依赖服务器。我用的是tomcat服务器
接下来是upload.js 完成上传工作,看extjs是如何实现的:
Ext.onReady(function(){ /* * ajax文件上传一般遵循下面三个步骤[开发时以下顺序是颠倒的] * 1、创建文件上传表单 * 2、调用Ext.Ajax.request()方法实现文件上传 * 3、定义文件上传处理器,并结合开源的文件上传组建如cos 将数据流转换成文件和参数 */ Ext.get("btn").on("click",function(){ Ext.Ajax.request({ url:"../../../fileUploadServlet", isUpload:true, form:"upform", success:function(upform,response){ Ext.MessageBox.alert("result",response.responseText); } }); }); });
servlet:
package com.fenet.web.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.oreilly.servlet.MultipartRequest; @SuppressWarnings("serial") public class FileUploadServlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); MultipartRequest multi = new MultipartRequest( request, "D:\\",//文件上传以后保存的位置 10*1024*1024,//允许上传文件的最大值 "utf-8"//编码 ); PrintWriter out = response.getWriter(); out.print("{success:true,msg:'上传成功'}"); System.out.println("文件名:"+multi.getFilesystemName("f")); System.out.println("文件描述:"+multi.getParameter("desc")); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } }
当前html页面你也要写点东西,不然没有file文件啊。如果使用extjs也可以实现,之后再说。
注:在这里上传功能是可以实现的,但是response的响应信息在我这里没有弹出来,我查阅了一些信息,我觉得应该是乱码的问题,乱码的解决我们之后会说。
另外,上传组件我用的是cos,你可以自学一下。
相关文章推荐
- Flask学习总结笔记(12) -- 利用ajax进行前后端数据交互
- 利用ajax提交表单,实现数据前端后台数据交互的完整流程演示
- H5+app前端后台ajax交互总结
- 从零开始学习WEB前端之数据交互(Ajax)
- SpringMVC+Hibernate利用ajax实现前端后台数据交互
- web前端后台数据的交互方式总结
- 前端学习总结(七)Angular.js——以数据交互为核心的前端框架
- SpringMVC映射的前端后台数据交互总结
- 前端boostrap架构下使用ajax传值json数据给后台
- 引用第三方进行Android前端与web后台的数据交互
- Extjs和Asp.NET后台的数据交互1
- SpringMVC前端和后端数据交互总结
- 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互
- django 后台与前端js数据交互对ajax封装
- Ajax+jquery 的前后台交互学习
- 前端通过AJAX提交数据,后台PHP处理数据实现异步操作基本流程
- 基于angular.js发送ajax请求实现前后台数据交互
- 【前端统计图】hcharts实现堆叠柱形图(与后台数据交互)
- extJs学习基础3 ajax与php交互
- 使用springmvc实现网页前端与后台的数据交互