zoukankan      html  css  js  c++  java
  • 41手写 Ajax的封装

    jQuery已经封装ajax,使用方法请跳转这里。 

    手写代码的封装:

    /*
     	method:
     			请求方式,值为get或者post
     	url:请求地址
     	data:没有值需要传入null
     		有请求数据则传入字符串数据,格式为"a=1&b=2";
     	deal200:
     			接受一个带有一个形参的js函数对象,形参接收的实参是ajax引擎对象
     	deal404:接受一个js函数对象
     	deal500:接受一个js函数对象
     */
    	function myAjax(method,url,data,deal200,deal404,deal500,async){		
    		//创建ajax引擎对象
    			var ajax=getAjax();
    			//复写onreadystatement函数
    			ajax.onreadystatechange=function(){
    				//判断Ajax状态吗
    				if(ajax.readyState==4){
    					//判断响应状态吗
    					if(ajax.status==200){
    						if(deal200){
    							deal200(ajax);
    						}
    					}else if(ajax.status==404){
    						if(deal404){
    							deal404();
    						}						
    					}else if(ajax.status==500){
    						if(deal500){
    							deal500();
    						}
    					}
    				}
    			}
    		//发送请求
    		if("get"==method){
    			ajax.open("get",url+(data==null?"":"?"+data),async);
    			ajax.send(null);
    		}else if("post"==method){
    			ajax.open("post",url,async);
    			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    			ajax.send(data);
    		}
    		
    	}	
    /* --------------------------------------------------------------------------- */
    function getAjax(){
    	var ajax;
    	if(window.XMLHttpRequest){//火狐
    		ajax=new XMLHttpRequest();
    	}else if(window.ActiveXObject){//ie
    		ajax=new ActiveXObject("Msxml2.XMLHTTP");
    	}
    	
    	return ajax;
    }	
    

      

  • 相关阅读:
    例子2.5
    例子2.4
    例子2.3
    例2
    例2.1
    快闪PPT 快速入门教程 脑洞大开,特效随你定 ----口袋动画PA(初学易上手001):
    Linux 基础与应用教程 0011(DNS解析)
    课外阅读记录:001
    好的特效模板
    学习记住并且时常要打开去看的VIM
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12382729.html
Copyright © 2011-2022 走看看