无刷新提交或无刷新与服务器通讯,通用AJax类及使用方法

以前一直使用Asp.net自带的Ajax方法,所以对Ajax没有深入的研究,最近开始编写PHP代码,PHP没有自带的AJax方法,所以就在网上研究了一把。

网上方法很多,总结了各方面的资料之后我做了一个简单的封装,方便大家调用。


第一步:将下面代码保存到JS文件。如:Ajax.js

/********************************************************/
/*                       AJax.js                        */
/*                                                      */
/*   使用 xmlHttpObject 对象与服务器进行无刷新提交等       */
/*                                                      */
/*                   Powered by Sean                    */
/*     Email:sean.lxy@qq.com         QQ:13261953        */
/********************************************************/


var LS_AJax = (function () {
    var result = {
    PostData : function (url, fun, postdata) {
        var xmlHttp = GetXmlHttpObject();
        if (xmlHttp == null) {
            alert("浏览器不支持 HTTP Request");
            return;
        }
        postdata += "&t=" + Math.random();
        xmlHttp.open("Post", url, true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200 && fun && (typeof fun == "function"))
                fun(xmlHttp.responseText);
        };
        xmlhttp.send(postdata);
        xmlhttp = null;
    },

    GetURL : function (url, fun) {
        var xmlHttp = GetXmlHttpObject();
        if (xmlHttp == null) {
            alert("浏览器不支持 HTTP Request");
            return;
        }
        url += "&t=" + Math.random();
        xmlHttp.open("Get", url, true);
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200 && fun && (typeof fun == "function"))
                fun(xmlHttp.responseText);
        }
        xmlhttp.send();
        xmlhttp = null;
    }
    };

    var GetXmlHttpObject = function () {
        if (window.XMLHttpRequest)
            xmlhttp = new XMLHttpRequest();                     // code for IE7+, Firefox, Chrome, Opera, Safari
        else
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   // code for IE6, IE5
        return xmlhttp;
    };

    return result;

})();


第二步:在需要使用ajax的页面里调用该js:

<script language="javascript" type="text/javascript" src="JS/AJax.js"></script>

然后加入以下代码:

<pre class="javascript" name="code"><script language="javascript" type="text/javascript">  

	//需要调用ajax的地方  
       function BeginLoad() {  
	//通过Get方式获取服务器数据 LS_AJax.GetURL(服务器端脚本地址, 服务器返回后回调方法);  
           LS_AJax.GetURL("index.php?t=" + Math.random(), endLoad);  

	//通过Post方式提交数据 LS_AJax.PostData(服务器端脚本地址, 服务器返回后回调方法, 提交的数据);  
           LS_AJax.PostData("index.php?t=" + Math.random(), endLoad, "a=15&b=65");  
       }  

 	//服务器返回后的调用的方法 str 为服务器返回数据。  
        function endLoad(str) {  
            //弹出服务器返回内容  
            alert(str);  
        }  
      
</script> 

 

至于服务器端代码如何编写,大家可以根据实际情况编写即可,服务器段不限类型,asp.net、 php、 jps 等都行。

如PHP

<?php
echo date('Y-m-d H:i:s',time());
?>


调用后将提示服务器当前时间。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值