当将请求发送到服务器时,需要使用open()方法和send()方法。open()方法需要3个参数,第一个参数定义发送请求所使用的方法(是GET方法还是POST方法);第二个参数规定服务器端脚本的URL;第三个参数规定应当对请求进行异步地处理。代码形式如下:
广州网站设计
- var url;
- //alert (url);
- if(window.XMLHttpRequest) { //判断是否已经加载对象
- req = new XMLHttpRequest(); //实例化对象
- } else if(window.ActiveXObject) {
- req = new ActiveXObject("Microsoft.XMLHTTP");
- }
- req.open("GET", url, true);
send()方法可将请求送往服务器,这里需要注意,URL即服务端处理程序的路径问题。代码如下:
广州网站设计
- var url;
- //alert (url);
- if(window.XMLHttpRequest) { //判断是否已经加载对象
- req = new XMLHttpRequest(); //实例化对象
- } else if(window.ActiveXObject) {
- req = new ActiveXObject("Microsoft.XMLHTTP");
- }
- req.open("GET", url, true);
- req.send(null);
下面是一个严谨的AJAX引擎函数。其中,对各种异常情况作了必要的处理。具体代码如下:
广州网站建设
- <script type="text/JavaScript">
- //AJAX引擎函数
- function AJAXFunction()
- {
- var req;
- //服务端处理程序
- var url ;
- //判断浏览器类型
- try
- {
- //Firefox, Opera 8.0+, Safari;浏览器
- req=new reqRequest();
- }
- catch (e)
- {
- //Internet Explorer;浏览器
- try
- {
- req=new ActiveXObject("Msxml2.req"); //注册浏览器对象
- }
- catch (e)
- {
- try
- {
- req=new ActiveXObject("Microsoft.req"); //注册浏览器对象
- }
- catch (e)
- {
- alert("您的浏览器不支持AJAX!"); //弹出错误提示
- return false;
- }
- }
- }
- req.onreadystatechange=function() //onreadystatechange状态方法
- {
- if(req.readyState==4)
- {
- document.myForm.text.value=req.responseText;
- }
- }
- req.open("GET",url,true); //获得url
- req.send(null); //发送请求
- }
- </script>
广州网站建设
当然,只有AJAX引擎函数还是不够的,需要页面的触发机制才能执行AJAX。比如,通过onClick单击触发事件、onmouseover和onmouseout鼠标移动触发事件等。


