zoukankan      html  css  js  c++  java
  • 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,弹窗,样式还不错!!!

  • 相关阅读:
    移动比联通强的帖子的再次探讨
    清除或选中所有的checkbox
    textbox获得焦点显示JS日历控件
    Repeater分页
    互联网协会:博客推行实名制已成定局
    新闻内容分页
    获得显示器设置的分辨率
    node.js应用生成windows server的plugin——winser
    CSS基础
    git使用
  • 原文地址:https://www.cnblogs.com/yuner-angel/p/9104020.html
Copyright © 2011-2022 走看看