• ajax请求中动态显示问题


    1.jquery方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>ajax加载loading图标</title>
    </head>
    <body>
    <form id="test-form" action="test.php" method="post">
    <input type="text" name="username">
    </form>
    <button id="btn">提交</button>
    <div id="loading"></div>
    <div id="res"></div>
    </body>
    <script>
    $('#btn').click(function(){
    $.ajax({ 
    url:$('#test-form').attr('action'), //发送后台的url
    type:'post', 
    data:$('#test-form').serialize(), //序列化表单内容
    dataType:'text', //后台返回的数据类型
    timeout:15000, //超时时间
    beforeSend:function(XMLHttpRequest){ 
    $("#loading").html("<img src='./images/loading.gif' />"); //在后台返回success之前显示loading图标
    }, 
    success:function(data){ //data为后台返回的数据
    $("#loading").empty(); //ajax返回成功,清除loading图标
    $('#res').html('ajax请求成功!');
    }
    }); 
    });
    </script>
    </html>

    2.js方式

    xmlhttp.onreadystatechange = function(){
    var loadingdiv = document.getelementbyid("loading"); 
    loadingdiv.innerhtml = "loading..."; 
    loadingdiv.style.right = "0"; 
    loadingdiv.style.top = "0";
    loadingdiv.style.display = "block"; 
    //load completed
    if(xmlhttp.readystate == 4) {
    loadingdiv.style.display = "none"; 
    loadingdiv.innerhtml = ""; 
    if(xmlhttp.status == 200) {
    var str = xmlhttp.responsetext;
    /* do something here ! */
    }
    else
    alert("error!" + "nstatus code is: " + xmlhttp.status + "nstatus text is: " + xmlhttp.statustext);
    }
    }

    function toAjax(url,data,type,callback) {

    var i;

    $.ajax({

    url:url,

    type:type,

    data:data,

    dataType:"json",

    error:function(){

    alert("错误!");

    },

    beforeSend: function () {

    i = before();

    },

    success:function(result) {

    Load(i);

    callback && callback(result);

    }

    });

    }

    function before(){

    return layer.msg('加载中...', {icon: 16,shade: [0.5, '#f5f5f5'],scrollbar: false,offset: '0px', time:100000}) ;

    }

    function Load(index){

    layer.close(index);

    }

    用了layer的loading 推荐layer,弹窗,样式还不错!!!

  • 相关阅读:
    Yarn的三种调度器
    tcpdump 常用用法
    Openssh升级脚本
    RAID详解及软RAID管理
    zabbix安装部署
    Linux根分区、SWAP分区扩容
    Windows server 2012 控制面板打不开防火墙
    Windows Server 设置时间同步出错问题
    Windows dos命令激活系统
    Swap分区大小设置
  • 原文地址:https://www.cnblogs.com/yuner-angel/p/9104020.html
Copyright © 2020-2023  润新知