zoukankan      html  css  js  c++  java
  • 原生ajax

    function ajax2() {
    	var ajaxData = {
    		type: arguments[0].type || "GET",
    		url: arguments[0].url || "",
    		async: arguments[0].async || "true",
    		data: arguments[0].data || null,
    		dataType: arguments[0].dataType || "text",
    		contentType: arguments[0].contentType || "application/x-www-form-urlencoded",
    		beforeSend: arguments[0].beforeSend || function () { },
    		success: arguments[0].success || function () { },
    		error: arguments[0].error || function () { }
    	}
    	ajaxData.beforeSend()
    	var xhr = createxmlHttpRequest();
    	xhr.responseType = ajaxData.dataType;
    	xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
    	xhr.setRequestHeader("Content-Type", ajaxData.contentType);
    	xhr.send(convertData(ajaxData.data));
    	xhr.onreadystatechange = function () {
    		if (xhr.readyState == 4) {
    			if (xhr.status == 200) {
    				ajaxData.success(xhr.response)
    			} else {
    				ajaxData.error()
    			}
    		}
    	}
    }
    
    function createxmlHttpRequest() {
    	if (window.ActiveXObject) {
    		return new ActiveXObject("Microsoft.XMLHTTP");
    	} else if (window.XMLHttpRequest) {
    		return new XMLHttpRequest();
    	}
    }
    
    function convertData(data) {
    	if (typeof data === 'object') {
    		var convertResult = "";
    		for (var c in data) {
    			convertResult += c + "=" + data[c] + "&";
    		}
    		convertResult = convertResult.substring(0, convertResult.length - 1)
    		return convertResult;
    	} else {
    		return data;
    	}
    }
    

      

  • 相关阅读:
    singleton 单例模式
    try catch finall 结构里的 return
    ConcurrentHashMap
    ConcurrentHashMap原理分析
    Java 实现两个整数变量的交换
    Java reflect 反射 3 Class.forname
    Java reflect 反射 2
    Java reflect 反射 1
    java class load 类加载
    HashMap源码解析
  • 原文地址:https://www.cnblogs.com/ligulalei/p/10838021.html
Copyright © 2011-2022 走看看