ajax在j2ee和js服務器上數據基本交換

註明:本文爲最基本的ajax傳輸代碼整理,基本爲實踐部分,概念部分請自行查閱。javascript

代碼使用庫:http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.jscss

一、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,以上是一種數據打包的方式。html

在此數據傳輸協議均爲HTTP協議。java

二、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是監聽的端口號,能夠根據本身的須要配置,注意不要和本地的一些應用程序使用的端口號衝突
        

三、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中當成數組處理就好了,若是不放心,輸出調試一下~jquery

 

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衝突解決方法
相關文章
相關標籤/搜索