`

ajax 简单封装

    博客分类:
  • ajax
阅读更多
/** 调用远程服务器程序
*@_url    服务器url
*@_target 本地用于容纳返回结果的 html 元素,可以为空
*@async   true-异步调用 false-同步调用
*@params  附加调用参数
*@callback 服务器端成功返回后的回调函数
*返回值:如果同步调用,则返回服务器的返回结果值,否则直接返回 false
*/
function callToServer(_url, _target, async, params, callback) {
try {
    if (async==null||async==true) async=true;
        var ret;    
        var xmlHttp = createXMLHttpRequest();
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {  // 4-READY_STATE_COMPLETE
                ret = xmlHttp.responseText;
                if (_target) {
                    var selObj = getElement(_target);
                    if (selObj) {
                        if (selObj.tagName && "input,textarea,select".indexOf(selObj.tagName.toLowerCase())>=0)
                            selObj.value=ret;
                        else {
                            try {
                                selObj.innerHTML=ret;
                            } catch (e1) {}
                        }
                    }
                }
               
                // 回调函数
                if (callback)
                    callback.call(this, ret);
            }           
        };
       
        xmlHttp.open("POST", _url, async); // true-异步 false-同步
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
        xmlHttp.setRequestHeader("req-type", "ajax");      
        if (params && (typeof params)=="object")  // json
            params = serializeJson(params);
           
        xmlHttp.send(params);
       
    } catch(e) {
       window.alert(e);
    }       

    if (async) return false;
    else return ret
}

// ajax 的请求对象
function createXMLHttpRequest() {
    var xmlHttp = null;   
    if (window.ActiveXObject) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
       
    } else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
    return xmlHttp
}
分享到:
评论

相关推荐

    Ajax 简单封装类库

    ajax轻量级封装,简单实用,带有详细注释。 一、同一个对象可以发送多个请求,按顺序执行请求,有简单的超时机制,httpXMLRequest对象复用,无序的可以建立多个对象发送请求来实现; 二、兼容IE,FF,支持同步、异步...

    自己用的简单封装AJAX类

    **标题解析:** "自己用的简单封装AJAX类" 指的是作者为了个人使用需求,编写了一个简化的AJAX处理类。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,...

    ajax代码及简单封装

    ### AJAX代码及简单封装知识点详解 #### 一、引言 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换来实现这一功能...

    简单封装Ajax

    【简单封装Ajax】这篇文章主要探讨的是如何在JavaScript中对原生的XMLHttpRequest对象进行简单的封装,以便于在实际开发中更方便地进行异步数据请求。在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种...

    ajaxTest 实用简单封装

    **AjaxTest 实用简单封装** Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了...

    经典的AJAX(封装好)

    8. **jQuery和其他库**:jQuery等JavaScript库封装了AJAX操作,使其变得更简单易用。例如,$.ajax()、$.get()和$.post()是jQuery中的AJAX函数,它们提供了更友好的API和更丰富的功能。 9. **Promise和async/await**...

    简单ajax封装小工具

    本小工具就是对Ajax进行的一种简单封装,适用于那些希望进行轻量级交互、不打算使用大型JavaScript框架的场景。 Ajax的核心在于通过JavaScript与服务器进行异步通信,它允许我们向后台发送请求,获取数据,然后在...

    原生js的AJAX封装以及实例展示.zip

    这个压缩包"原生js的AJAX封装以及实例展示.zip"包含了对AJAX的简单封装以及一个具体的增删改查(CRUD)操作实例,这将帮助我们深入理解如何在实际项目中应用AJAX。 首先,让我们了解一下AJAX的基本原理。AJAX的核心...

    JavaScript-初识ajax、ajax封装、及json简单实战案例(下).pdf

    以下是一个简单的Ajax函数封装示例: ```javascript function ajaxRequest(url, method, callback, data) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 ...

    ajax简单示例和封装库

    **简单Ajax示例:** ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var data ...

    ajax封装的dll

    本话题将深入探讨“ajax封装的dll”,这是一种将Ajax功能封装到动态链接库(DLL)中的做法,使得开发者可以更方便地在项目中调用和利用Ajax功能。 首先,DLL(Dynamic Link Library)是Windows操作系统中的一种共享...

    Ajax异步处理封装

    以下是一个简单的Ajax封装示例: ```javascript function ajax(url, type, callback, data) { var xhr = new XMLHttpRequest(); xhr.open(type, url, true); // 如果是POST请求,设置请求头 if (type === '...

    Ajax请求封装进JavaScript类

    简单的把Ajax请求封装了一下 目前只考虑了请求文本的情况。 超时处理。 某一时刻只能处理一次请求。

    ajax简单的入门程序

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...同时,现代前端框架如React、Vue和Angular等都提供了对Ajax操作的高级封装,简化了开发者的工作。

    jQuery 封装Ajax

    jQuery库通过其简单易用的API,极大地简化了Ajax操作,使得开发者无需关注底层的XMLHttpRequest对象,而是可以更专注于业务逻辑。 jQuery的Ajax方法主要包括`$.ajax()`, `$.get()`, `$.post()`, `$.getJSON()`等。...

    新手练习 Ajax请求封装进JavaScript类

    以下是一个简单的Ajax类结构: ```javascript class AjaxRequest { constructor(url) { this.url = url; this.timeout = 5000; // 默认超时时间为5秒 this.request = null; } send() { if (this.request) {...

    小程序使用es6封装ajax源码案例

    在这个“小程序使用es6封装ajax源码案例”中,我们将深入探讨如何利用ES6的Promise和模块化特性来优雅地实现Ajax请求,并将其应用到微信小程序的开发中。 首先,让我们理解一下核心概念: 1. **ES6**:这是...

    Jquery 封装下的ajax异步加载

    这个Web项目实例展示了如何利用jQuery封装的AJAX功能实现异步加载,通过与Servlet配合,实现了客户端与服务器间JSON数据的交换。理解这些概念和实践,对于提升Web应用的用户体验和性能至关重要。通过深入学习和实践...

    JavaScript封装Ajax

    **JavaScript封装Ajax**通常涉及到以下几个关键步骤: 1. **创建XMLHttpRequest对象**:这是Ajax的基础,几乎所有的浏览器都内置了XMLHttpRequest对象,用于与服务器进行通信。首先,我们需要创建一个...

    Ajax封装

    通过封装,我们可以将复杂的Ajax交互抽象成简单易用的类或函数,使得开发者可以专注于业务逻辑,而不是底层的网络通信细节。了解和掌握Ajax封装,对于提升Web应用的用户体验和开发效率有着显著的帮助。

Global site tag (gtag.js) - Google Analytics