正在加载没有消失(请 啊偶果 老师无视这个问题)

正在加载没有消失(请 啊偶果 老师无视这个问题)

{% extends 'base.html' %}
{% block title %}
<title>产品列表</title>
{% endblock %}
{% block container %}
<!--顶部搜索-->
<header class='weui-header fixed-top'>
  <div class="weui-search-bar" id="searchBar">
    <form class="weui-search-bar__form" method="get" action=".">
      <div class="weui-search-bar__box">
        <i class="weui-icon-search"></i>
        <input type="search"
               class="weui-search-bar__input"
               id="searchInput"
               name="name"
               placeholder="搜索您想要的商品" required>
        <a href="/static/javascript:" class="weui-icon-clear" id="searchClear"></a>
      </div>
      <label class="weui-search-bar__label" id="searchText" style="transform-origin: 0px 0px 0px; opacity: 1; transform: scale(1, 1);">
        <i class="weui-icon-search"></i>
        <span>搜索您想要的商品</span>
      </label>
    </form>
    <a href="/static/javascript:" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a>
  </div>
  <div class="pro-sort">
    <div class="weui-flex">
      <div class="weui-flex__item"><div class="placeholder NormalCss">综合</div></div>
      <div class="weui-flex__item"><div class="placeholder SortAscCss">按销量</div></div>
      <div class="weui-flex__item"><div class="placeholder SortDescCss">按价格</div></div>
    </div>
  </div>
</header>
<!--主体-->
<div class="weui-content" style="padding-top:85px;">
  <!--产品列表--滑动加载-->
  <div class="weui-pull-to-refresh__layer">
    <div class='weui-pull-to-refresh__arrow'></div>
    <div class='weui-pull-to-refresh__preloader'></div>
    <div class="down">下拉刷新</div>
    <div class="up">释放刷新</div>
    <div class="refresh">正在刷新</div>
  </div>
  <div id="list" class='demos-content-padded proListWrap'>
 
  </div>
  <div class="weui-loadmore" id="loading">
    <i class="weui-loading"></i>
    <span class="weui-loadmore__tips">正在加载</span>
  </div>
</div>
{% endblock %}
{% block footer %}
<script>
    var loading = false;  // 是否正在加载中
    var page = 1;  // 当前页
    var noMore = false; // 是否还有下一页
    /**
     * 封装函数,异步取数据
     * @param callback
     */
    function loadData(callback) {
        if(loading) return;
        if(noMore) return;
        loading = true;
        $('#loading').show();
        // 异步取数据
        $.ajax({
            url: '{% url 'mall:product_load_list' %}',  // 加载数据的地址
            data: {
                page: page
            },
            success: function (rest) {  // 调用接口成功
                // 添加 HTML片段到内容区
                $('#list').append(rest);
                page++;  // 页码 +1
                loading = false;  // 正在加载中为 false,只有它为 false才能调用一些其他的操作比如下拉刷新
                $('#loading').hide()
            }
        })
    }
      $(document.body).pullToRefresh().on("pull-to-refresh", function() {
        setTimeout(function() {
          $("#time").text(new Date);
          $(document.body).pullToRefreshDone();
        }, 2000);
      });
      // infinite
 
      $(document.body).infinite().on("infinite", function() {
        loadData(); // 加载数据
      });
      loadData(); // 默认加载第一页
</script>
{% endblock %}

检查了几次没发现和老师写的哪里不一样,但是加载完两页之后下面还是有“正在加载”的字样,而且继续往下拉会显示page3

http://img1.sycdn.imooc.com//climg/5d56704c0001f71816001349.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
慕客yang 2019-08-16 18:38:35

同学你好:

http://img1.sycdn.imooc.com//climg/5d5686bf0001114e06120440.jpg

success:function是当数据加载出来后才会调用的方法,所以当调用接口成功(有数据)的时候,则会将正在加载去隐藏。

http://img1.sycdn.imooc.com//climg/5d56871b000136f304810537.jpg

当同学继续向下拉取的时候虽然显示有第三页,由于报的是404提示,说明第三页获取不到数据,也就不会执行回调函数中的隐藏行为,所以正在加载不会隐藏。

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • 提问者 洛维西 #1
    呃,大致原理明白了,但是是因为我哪里写错了么?为什么老师课上也是这么写的,就隐藏了“正在加载”并且没有page3呢?
    2019-08-21 17:26:51
  • 我也出现了这种情况,代码和老师一样,也出现了加载第三页时候的报错。有什么办法可以让加载完全部数据就停下呢
    2020-06-28 10:09:19
  • 同学,你好。老师正在检查问题原因,请同学耐心等待,会尽快给与答复的。 祝学习愉快~
    2020-06-29 19:28:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师