日期:2014-05-16  浏览次数:20579 次

学习Ajax的一个小例子

例子中,有对中文传递参数乱码的解决,请求XML数据的解析等等

?

verify.js

function verify() {
    //解决中文乱麻问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(old.getBytes("iso8859-1"),"UTF-8");
    //解决中文乱麻问题的方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(old,"UTF-8")
    var url = "AJAXServer?name=" + encodeURI(encodeURI($("#userName").val()));
    url = convertURL(url);
    $.get(url,null,function(data){
        $("#result").html(data);
});
}

//给url地址增加时间戳,骗过浏览器,不读取缓存
function convertURL(url) {
    //获取时间戳
    var timstamp = (new Date()).valueOf();
    //将时间戳信息拼接到url上
    //url = "AJAXServer"
    if (url.indexOf("?") >= 0) {
        url = url + "&t=" + timstamp;
    } else {
        url = url + "?t=" + timstamp;
    }
    return url;
}

?

verifyjqueryxml.js

//定义用户名校验的方法
function verify(){
    //首先测试一下页面的按钮按下,可以调用这个方法
    //使用javascript的alert方法,显示一个探出提示框
    //alert("按钮被点击了!!!");

    //1.获取文本框中的内容
    //document.getElementById("userName");  dom的方式
    //Jquery的查找节点的方式,参数中#加上id属性值可以找到一个节点。
    //jquery的方法返回的都是jquery的对象,可以继续在上面执行其他的jquery方法
    var jqueryObj = $("#userName");
    //获取节点的值
    var userName = jqueryObj.val();
    //alert(userName);

    //2.将文本框中的数据发送给服务器段的servelt
    //javascript当中,一个简单的对象的定义方法
    var obj = {name:"123",age:20};
    //使用jquery的XMLHTTPrequest对象get请求的封装
    $.ajax({
        type: "POST",            //http请求方式
        url: "AJAXXMLServer",    //服务器段url地址
        data: "name=" + userName,           //发送给服务器段的数据
        dataType: "xml",  //告诉JQuery返回的数据格式
        success: callback  //定义交互完成,并且服务器正确返回数据时调用的回调函数
    });


}

//回调函数
function callback(data) {
//    alert("服务器段的数据回来了!!");
    //3.接收服务器端返回的数据
    //需要将data这个dom对象中的数据解析出来
    //首先需要将dom的对象转换成JQuery的对象
    var jqueryObj = $(data);
    //获取message节点
    var message = jqueryObj.children();
    //获取文本内容
    var text = message.text();
    //4.将服务器段返回的数据动态的显示在页面上
    //找到保存结果信息的节点
    var resultObj = $("#result");
    //动态的改变页面中div节点中的内容
    resultObj.html(text);
    alert("");
}

?