注明:本文为最基本的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冲突解决方法
ajax在j2ee和js服务器上数据基本交换
原文地址:https://www.cnblogs.com/end-emptiness/p/9216001.html