ajax在j2ee和js服务器上数据基本交换
注明:本文为最基本的ajax传输代码整理,基本为实践部分,概念部分请自行查阅。
代码使用库:http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js
1、ajax格式
var data = {"dataid":$("#data ").val()}; $.ajax({ data: data, dataType:"json", //数据类型 contentType: "application/x-www-form-urlencoded;charset=utf-8", //内容格式 url:"/index.html", type:"POST", //传输方式 success:function(data,textStatus){ alert("数据返回成功"); } });
将数据传输到对应url,以上是一种数据打包的方式。
在此数据传输协议均为HTTP协议。
2、js中http服务器得到数据
var http = require('http'); var fs = require('fs');//引入文件读取模块 var server = http.createServer(function (req, res) { var url = req.url; //req = Request, res = Response if(url == "/index.html") { req.on('data',function(data){ var data = decodeURIComponent(data)+""; //得到数据 var strJson = JSON.stringify(user); res.writeHead(200, {'Content-Type': 'text/plain'}); res.write(strJson); //发送数据 res.end(); }); req.on('end',function(){ //读取结束 }); var file = documentRoot + url; //参数1:要读取的文件路径; //参数2:回调函数,读取失败的信息在err中,err为空表示没有错误.data为读取到的文件数据 var file = documentRoot + url; //绝对地址 fs.readFile(file, function (err, data) { var type = 'text/html'; var name = [/.css/,/.html/,/.js/]; var typename = ['text/css','text/html','text/javascript']; for(var i in name) { if(name[i].test(file)) { type = typename[i]; break; } } //方式和文件名进行匹配 if (err) { res.writeHeader(404, {'content-type': type+';charset="utf-8"'}); res.write('<h1>404错误</h1><p>你要找的页面不存在</p>'); res.end(); } else { res.writeHeader(200, {'content-type': type+';charset="utf-8"'}); res.write(data); res.end();} }); //打开对应的html文件(包括引用的css和js,如果有其他类型,自行添加,有更简单的方法,自行查阅) } }).listen(8889,"127.0.0.1");// 此处的8889是监听的端口号,可以根据自己的需要配置,注意不要和本地的一些应用程序使用的端口号冲突
3、j2ee中使用tomcat服务器得到数据
//样例背景,根据班级,获取学生的信息 String classid = request.getParameter("classid"); JSONArray jsonarray = new JSONArray(); JSONObject jsonobj = new JSONObject(); for(int i=0;i<data.size();i++) { System.out.println(data.get(i).getStuid()); data.get(i).setStuname(studao.readStudent(data.get(i).getStuid()).getStuname()); jsonobj.put("stuid", data.get(i).getStuid()); jsonobj.put("scid", data.get(i).getScid()); jsonobj.put("claid", data.get(i).getClaid()); jsonobj.put("stuname", data.get(i).getStuname()); jsonarray.add(jsonobj); } PrintWriter out = response.getWriter(); out.println(jsonarray);
上述两种方法返回的数据,在ajax success中当成数组处理就行了,如果不放心,输出调试一下~
ex state、Easter egg
alert("删除成功"); //页面提示框 location.reload(); //刷新当前页面 <script type="text/javascript" src="jquery-1.7.2.js"></script> <script> var jq172 = jQuery.noConflict(true); </script> (function($){ $("#user"); })(jq172); //jquery冲突解决方法