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

    function ajax(url, fnSucc, fnFaild)
    {
        //1.创建
        if(window.XMLHttpRequest)
        {
            var oAjax=new XMLHttpRequest();
        }
        else
        {
            var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
        }
        
        //2.连接
        oAjax.open('GET', url, true);
        
        //3.发送
        oAjax.send();
        
        //4.接收
        oAjax.onreadystatechange=function ()
        {
            if(oAjax.readyState==4)        //完成
            {
                if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304)
                {
                    //alert('成功:'+oAjax.responseText);
                    if(fnSucc)
                    {
                        fnSucc(oAjax.responseText);
                    }
                }
                else
                {
                    //alert('失败:'+oAjax.status);
                    if(fnFaild)
                    {
                        fnFaild(oAjax.status);
                    }
                }
            }
        };
    }

    辅助函数处理url

    function json2url(json){
        json.t=Math.random();
    
        var arr=[];
    
        for(var i in json)
        {
            arr.push(i+'='+json[i]);
        }
    
        return arr.join('&');
    }

    实例1:读取文字

    复制代码
    window.onload=function ()
    {
        var oBtn=document.getElementById('btn1');
        
        oBtn.onclick=function ()
        {
            //alert('aaa.txt?t='+Math.random());
            ajax('aaa.txt?t='+Math.random(), function (str){
                //str——从服务器读回来的内容
                alert(str);
            });
        };
    };
    复制代码

    实例2:注册和登陆

    复制代码
    window.onload=function(){
        var oAddUser=document.getElementById('add_user');
        var oAddPass=document.getElementById('add_pass');
        var oAddBtn=document.getElementById('add_btn');
    
        oAddBtn.onclick=function()
        {
            var url='user.php?'+json2url({
                act:'add',
                user:oAddUser.value,
                pass:oAddPass.value
            })
    
            ajax(url,function(str){
                var json=eval('('+str+')');
                if(json.error){
                    alert('有问题'+json.desc);
                }else{
                    alert('注册成功');
                }
            },function(){
                alert('失败');
            });
        };
    
        var oLgnUser=document.getElementById('login_user');
        var oLgnPass=document.getElementById('login_pass');
        var oLgnBtn=document.getElementById('login_btn');
    
        oLgnBtn.onclick=function(){
            var url='user.php?'+json2url({
                act:'login',
                user:oLgnUser.value,
                pass:oLgnPass.value
            })
    
            ajax(url,function(str){
                var json=eval('('+str+')');
                if(json.error){
                    alert('有问题'+json.desc);
                }else{
                    alert('登陆成功');
                }
            },function(){
                alert('失败');
            })
        };
    };
    复制代码
  • 相关阅读:
    Beta版软件说明书
    团队项目第五天
    cnblogs用户体验评价
    团队项目测试计划
    Alpha版总结会议
    软件使用说明书
    团队绩效考核
    各个小组对于“我爱淘”的评价
    软件工程团队项目评价
    丹佛机场行李系统处理方案
  • 原文地址:https://www.cnblogs.com/mingjixiaohui/p/5246370.html
Copyright © 2011-2022 走看看