zoukankan      html  css  js  c++  java
  • 原生ajax封装,数据初始化,

    var ajaxTool = {
    	setting : {
    		method : 'get',
    		url : location.href,
    		data : '',
    		callback : function(){alert('兄弟,你忘记写回掉函数了吧')}
    	},
    	ajax :function(json){
    		//初始化数据
    		var This = this
    		this.extend(this.setting,json);
    		
    		//创建一个xhr对象
    		var   xhr = new XMLHttpRequest();
    		
    		//格式化数据格式 以字符串键值队的形式传递数据
    		this.setting.data = this.format(this.setting.data);
    		//发送请求
    		if(this.setting.method == 'get'){
    			this.setting.url += "?" + this.setting.data
    			this.setting.data = null;
    		}
    		
    		xhr.open(this.setting.method,this.setting.url,true);
    		
    		if(this.setting.method == 'post'){
    			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		}
    		
    		//发送请求
    		
    		xhr.send(this.setting.data)
    		
    		//监听请求状态
    		
    		xhr.onreadystatechange = function (){
    			if(xhr.readyState==4&&xhr.status==200){
    				
    				var result = JSON.stringify(xhr.responseText) //假设请求的是json文件
    				 
    				  result = JSON.parse(result);
    				 
    				 This.setting.callback(result);
    				    
    			}
    		}
    		
    	},
    	extend :function(obj1,obj2){
    		for (var attr in obj2) {
    			obj1[attr] = obj2[attr]
    		}
    	},
    	format : function(data){
    		var html ="";
    		for (var attr in data) {
    			html += attr + '=' + data[attr]+'&';
    		}
    		
    		html = html.substring(0,html.length-1)
    		return html;
    	}
    	
    }
    
    欢迎各位大虾指正
  • 相关阅读:
    Java小细节
    LinkedHashMap的accessOrder的作用
    异或运算及其应用
    什么是FullStack设计
    Java正则表达式收藏
    offsetLeft,Left,clientLeft的区别
    java文件常用操作(2) 从文件末尾开始读取文件
    java文件常用操作
    各种排序方法
    2013微软暑期实习笔试&面试总结
  • 原文地址:https://www.cnblogs.com/he-zhi/p/6954290.html
Copyright © 2011-2022 走看看