Ajax原生写法

用太久JQuery了,别忘了Ajax原生是怎么写的

复制代码
var Ajax = {
    get : function (url, callback) {
        
        var req = Ajax.getRequest(callback);
        
        req.open("GET", url, true);
        req.setRequestHeader("If-Modified-Since","0");
        req.send(null);
    },
    post : function (url, param, callback) {
        
        var req = Ajax.getRequest(callback);
        
        req.open("POST", url, true);
        req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        req.setRequestHeader("If-Modified-Since","0");
        req.send(param);
    },
    getRequest : function (callback) {
        var req;
        try {
            req = new XMLHttpRequest();
        } catch (error) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (error) {
                return null;
            }
        }
        req.onreadystatechange = function() {
            if (req.readyState != 4)
                return;
            if (req.status == 200) {
                callback(req);
            } else
                alert("请求失败:" + req.statusText);
            return true;
        };
        return req;
    },
    encode : function (str) {
        return encodeURIComponent(str);
    }
};
复制代码

 

posted @   海角在眼前  阅读(1327)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示