Ajax与Servlet的数据交互
来源:互联网 发布:mac忘记开机密码办 编辑:程序博客网 时间:2024/05/21 16:57
/
*前记:暑假项目实训 会员管理平台
*选用技术:jsp+html+jquery
*某些地方需要用到异步处理
/
Servlet 与 Ajax 交换数据
Ajax知识
参见w3cschool:
http://www.w3school.com.cn/jquery/ajax_ajax.asp
正文
Ajax代码
//异步处理事件 $("#lock").click(function(){ //定义数组存数据 var myArray=new Array(1,2,3); var check=$("input[name='check']:checked"); for(var i=0;i<check.length;i++) { myArray[i]=check.eq(i).val(); } //发送数据 $.ajax({ url:'pointServlet', //请求地址 type:'post', //请求方式 data: //请求参数 { 'cradnumberarr':myArray }, async : true, //默认为true 异步 error:function() //默认为true 异步 { alert('error'); }, success:function(data) //失败回调函数 { alert('success'); } }); });});
servlet代码
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html"); response.setCharacterEncoding("utf-8");//这里是转码 request.setCharacterEncoding("utf-8");//这里是转码 //获取内容并获取标识符判断进行什么操作 String markstring=request.getParameter("mark"); //获得请求的多维数组 Map<String, String[]> map=request.getParameterMap(); //标识操作的条数 int markcount=0; //操作数据库 MemberDao me=MemberDaoFactory.getStudentDaoInstance(); String cardnumberarr[]=null; Iterator<String> iter = map.keySet().iterator(); while (iter.hasNext()) { String key = iter.next(); cardnumberarr = (String[]) map.get(key); } for(String v:cardnumberarr) { System.out.print(v + " "); } /** *自身的业务逻辑 *最后定义一个PrintWriter 来返回数据 */ PrintWriter out = response.getWriter();//定义一个 out(用于写回去东西) //以上是发送到客户端的相应类型 out.write("操作了"+markcount+"条数据");//返回到jsp页面 out.flush();//清空缓存 out.close();//关闭 out }
最后
在涉及跨域访问的时候需要用jsonp来处理ajax成功发送请求却一直进入error回调函数的问题
$.ajax({ url: "跨域的url", jsonpCallback: "showPrice", jsonp: "callback", // tell jQuery we're expecting JSONP dataType: "jsonp", data: { q: "select title,abstract,url from search.news where query=\"cat\"", format: "json" }, // work with the response success: function( data ) { console.log( data ); // server response } });
参数说明
dataType String
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:
“xml”: 返回 XML 文档,可用 jQuery 处理。
“html”: 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
“script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了”cache”参数。”’注意:”’在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
“json”: 返回 JSON 数据 。
“jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
“text”: 返回纯文本字符串
jsonp,
重写jsonp请求中的回调函数的名称。至俄格值用来替代“callback=?”这种GET或POST请求URL参数里的“callback”部分,例如{jsonp:’onJsonPLoad’}会导致“onJsonPLoad”传递给服务器。
jsonpCallback,
为jsonp指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。但是实际使用过程中,并不用写回调函数,比如此例中的showPrice,不写也不会报错,因为jQuery在处理JSONP的时候,自动帮你生成回调函数并且把数据取出来共success方法调用
- Ajax与Servlet的数据交互
- 06-ajax与页面和servlet的数据交互
- Ajax与servlet交互的实例
- Ajax与servlet交互的实例【转】
- Ajax与servlet交互的实例
- ajax与servlet的动态交互
- ajax与servlet之间的交互方式
- 通过AJAX与Servlet进行交互:通过JSON传递数据
- 基本的JSP中调用Ajax与Servlet进行数据交互
- 基本的JSP中调用Ajax与Servlet进行数据交互
- Flex与Servlet之间数据的交互
- ajax前台与后台的数据交互
- JS的Ajax与后端交互数据
- 新手笔记:easyUI 的ajax方式与servlet交互问题
- (二)jQuery+ajax与servlet的交互
- servlet,jsp使用ajax进行数据交互
- ajax与xml数据交互
- ajax与后台数据交互
- Python 语言及其应用 Chapter_5_Note_3 defaultdict_setdefault
- Android中的9patch图原理
- cocoapods配置
- mysql中的表名如果跟mysql的关键字冲突怎么处理?
- Android学习笔记--1.初识Android
- Ajax与Servlet的数据交互
- 测试框架的利好和繁荣:Java单元测试框架之争
- 通过命令行将iOS的APP安装到模拟器中
- 设置UITableView的分割线左对齐
- perl 贪婪匹配小例子
- Android数据库操作
- AD10 绘制MARK点
- Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal
- JAVA安装