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冲突解决方法

 

posted @ 2018-06-22 23:50  二律背反GG  阅读(328)  评论(0编辑  收藏  举报