Foxtable(狐表)用户栏目专家坐堂 → 动静结合的页面不自动加载数据


  共有2360人关注过本帖树形打印复制链接

主题:动静结合的页面不自动加载数据

帅哥哟,离线,有人找我吗?
mmd888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:949 威望:0 精华:0 注册:2017/12/23 23:50:00
动静结合的页面不自动加载数据  发帖心情 Post By:2018/7/18 0:22:00 [只看该作者]

我采取的是用已经做好的静态网页,然后通过AJAX函数,从台获取数据显示在对应的位置,通过window.onload=function()事件来加载,  但是总是会出现 数据加载不出来的情况,每次都要刷新一次或者多次才能显示出来。

我的代码可以简单的描述如下:

'静态网页部分:
<!DOCTYPE html>
<!-- saved from url=(0053)pdhistory.html -->
<html class="sb-init">
<head><meta http-equiv="Content-Type" c>
    <title>测试</title>
 <link href="./lib/cust.css" rel="stylesheet">
</head>
<body style="overflow: visible;" class="">
'......页面的其他静态显示类容部分

<div id="div1">  </div> '  ...需要动态加载的数据
<script>
window.onload=function(){
var regval=new Object();
regval.username = username;  
regval.shoose="detail"
var result = sendAjaxJSON(regval, "/PluginView/detail.html","",false);
var brobj = JSON.parse(result)
document.getElementById("div1").innerHTML =brobj.pigval
}
</script>

</body></html>


为啥用这种方式做的,他有时候打开的时候其他框架都能正常加载,就是数据部分有时候加载不出来,非要刷新之后才能出来,还有就是比如我在这个页面中点击了其他的连接之后。再后退回来 也是只剩下静态框架了,数据显示不出来,刷新之后能正常显示。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/18 9:38:00 [只看该作者]

1、你这个页面单纯是自己的html代码吗?有没有用到weui的框架?如果用了,onload事件会冲突,要用另外的方式绑定事件;

 

2、在你onload事件那里,加入alert看能否弹出值,执行到哪里出错;同时httprequest加入msgbox,看请求是否被响应;

 

3、打开浏览器的调试器(F12),看是否报什么错。


 回到顶部
帅哥哟,离线,有人找我吗?
mmd888
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:949 威望:0 精华:0 注册:2017/12/23 23:50:00
  发帖心情 Post By:2018/7/18 18:33:00 [只看该作者]

这个页面 并没有用weui框架,他不会报错,只是需要刷新一次,或者多次才能正常加载数据。


 回到顶部
帅哥哟,离线,有人找我吗?
mmd888
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:949 威望:0 精华:0 注册:2017/12/23 23:50:00
  发帖心情 Post By:2018/7/18 19:52:00 [只看该作者]

对了,我为了使用ajax函数,也引入了weui.me.js  ,会不会是因为这里面的onload和html相冲突了,


有没有什么好的办法能解决此问题呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/18 20:59:00 [只看该作者]

以下是引用mmd888在2018/7/18 19:52:00的发言:

 
有没有什么好的办法能解决此问题呢

 

下面代码,弹出什么?如果result获取不正确,说明是你后台httprequest事件有问题。

 

    window.onload=function(){

alert(1);
    var regval=new Object();
    regval.username = username; 
    regval.shoose="detail"

alert(2)
    var result = sendAjaxJSON(regval, "/PluginView/detail.html","",false);     

alert(3)

alert(result)
    var brobj = JSON.parse(result)
    document.getElementById("div1").innerHTML =brobj.pigval   

alert(brobj.pigval)
    }

 


 回到顶部
帅哥哟,离线,有人找我吗?
mmd888
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:949 威望:0 精华:0 注册:2017/12/23 23:50:00
  发帖心情 Post By:2018/7/18 22:06:00 [只看该作者]

老师,我想表达的意思是,他这个是时灵时不灵的,我测试都能正常显示出来的,整个网页都能正常显示,

问题是有时候 他就只加载框架部分,而不加载ajax获取的数据部分,特别在苹果手机表现比较明显。但是经过多次刷新之后他还是能加载出来。。。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/18 22:16:00 [只看该作者]

试试在你 weui.me.js 加入这段代码

 

    pushHistory();
    function pushHistory() {
        window.addEventListener("popstate", function(e) {
            //alert("后退");
            self.location.reload();
        }, false);
        var state = {
            title : "",
            url : "#"
        };
        window.history.replaceState(state, "", "#");
    };

 

然后,你是把每次得到的result,判断一下是不是正常的结果,如果是空值或不正常,那就再获取一次。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/18 22:16:00 [只看该作者]

没有实例我们无法测试你的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
mmd888
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:949 威望:0 精华:0 注册:2017/12/23 23:50:00
  发帖心情 Post By:2018/7/20 11:32:00 [只看该作者]

老师,我现在发现是本地测试没问题,但是放在服务器上就不行了。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/20 12:00:00 [只看该作者]

以下是引用mmd888在2018/7/20 11:32:00的发言:
老师,我现在发现是本地测试没问题,但是放在服务器上就不行了。。。。

 

在服务器上测试的时候,alert和msgbox弹出是否正常?用电脑浏览器测试是否正常?如果电脑浏览器不正常,看看调试器那里报什么错。


 回到顶部
总数 13 1 2 下一页