zoukankan      html  css  js  c++  java
  • js源码封装ajax;

    ajax({
    	url:'google.aspx',
    	type:'POST',
    	date:{name:'honely',age:20},
    	dateType:'json',
    	success:function(response.xml){
    		//成功后执行的代码
    	},
    	fail:function(status){
    		//失败后执行的代码
    	}
    });
    function ajax(options){
    	options=options||{};
    	options.type=(options.type||"GET").toUpperCase();
    	options.dateType=options.dateType||'json';
    	var params=formatParams(options.date);
    //第一步新建数据
    	if(window.XMLHttpRequest){
    		var xhr=new XMLHttpRequest();
    	}else{
    		var xhr=new ActiveXObject('Microsoft.XMLHTTP');
    	}
    //第三部接受数据
    	xhr.onreadystatechange=function(){
    		if(xhr.readyState==4&&xhr.status==200){
    			options.success&&options.success(xhr.responseText,xhr.responseXML);
    		}
    		else{
    			options.fail&&options.fail(xhr.status);
    		}
    	}
    //第二部发送数据
    	if(options.type=='GET'){
    		xhr.open("GET",options.url+'?'+params,true);
    		xhr.send(null);
    	}else if(options.type=="POST"){
    		xhr.open("POST",options.url+'?'+params,true);
    		xhr.setRequestHeader("content-type","aplication/x-www-form-unload");
    		xhr.send(params);
    	}
    }
    function formatParams(date){
    	var arr=[];
    	for( var name in date){
    		arr.push(encodeURIComponent(name)+'='+encodeURIComponent(date[name]));
    	}
    	arr.push(('v='+Math.random()).replace('.',''));
    	return arr.join('&');
    }
    

      

  • 相关阅读:
    在CentOS 8上安装Jitsi Meet
    centos8 安装docker
    [git]error: pack-objects died of signal
    Andorid 11调用系统裁剪
    XCode修改工程名(完美版)
    java分割后台日志
    五分钟搞定WebRTC视频录制
    一分钟教你构建属于你的视频会议SDK
    史上最全的WebRTC服务器技术选型分析
    数据库设计之思考
  • 原文地址:https://www.cnblogs.com/mk2016/p/5455316.html
Copyright © 2011-2022 走看看