Ajax

作者: 秒签T | 来源:发表于2017-05-19 15:37 被阅读0次
function json2str(json) {
    // 0.给json添加随机因子
    json.t = Math.random();
    // 1.将json转换为数组
    var arr = [];
    for(var key in json){
        arr.push(key+"="+encodeURIComponent(json[key]));
    }
    // 2.将数组转换为字符串返回
    return arr.join("&");
}

function ajax(type, url, timeout, json, success, error) {
    var str = json2str(json);

    // 1.创建异步对象
    if(window.XMLHttpRequest){
        var xhr = new XMLHttpRequest()
    }else{
        var xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }

    if(type == "get"){
        // 2.设置URL
        xhr.open(type, url+"?"+str);
        // 3.发送请求
        xhr.send();
    }else{
        // 2.设置URL
        xhr.open(type, url);

        // 设置请求头
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

        // 3.发送请求
        xhr.send(str);
    }
    // 4.注册事件
    xhr.onreadystatechange = function () {
        // 5.处理返回数据
        // 判断请求状态
        if(xhr.readyState == 4){
            clearTimeout(timer);
            // 判断HTTP状态
            if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
                success(xhr.responseText);
            }else{
                error(xhr.status);
            }
        }
    }
    // 6.超时处理
    if(timeout){
        var timer = setTimeout(function () {
            xhr.abort(); // 中断请求
        }, timeout);
    }

}

相关文章

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

  • AJAX

    一、简介 AJAX菜鸟教程 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX...

  • js之AJAX复习

    异步交互和同步交互 什么是Ajax? Ajax的工作原理。 Ajax包含的技术: Ajax的缺陷: Ajax的核心...

  • 复习jQuery - ajax

    jQuery ajax - ajax() 方法 $.ajax({ url:'oo.php', ...

  • jQuery中Ajax请求的使用和四个步骤示例

    ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax(...

  • ajax

    1、什么是ajax? 2、ajax的原理 3、ajax的核心对象 4、ajax的优点: ajax的缺点: 被jqu...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

网友评论

      本文标题:Ajax

      本文链接:https://www.haomeiwen.com/subject/blmyxxtx.html