zoukankan      html  css  js  c++  java
  • 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冲突解决方法
  • 相关阅读:
    SQLSERVER查询某张表哪些字段包含某关键字
    SQLSERVER初始化机构path
    Golang的ORM框架之gorm
    Golang的web框架之Gin
    初识Go逆向
    GIT 常用命令
    mac上系统偏好里无法停止mysql
    js正则高级用法: 分组和断言
    Java强软弱虚四种引用的使用场景
    两数之和
  • 原文地址:https://www.cnblogs.com/end-emptiness/p/9216001.html
Copyright © 2011-2022 走看看