ajax输出内容一闪而过,终于知道是怎么回事了

来源:互联网 发布:sql developer软件 编辑:程序博客网 时间:2024/04/29 03:52
    这个问题郁闷了我好几天了,XHR能够查询到数据,数据也能输出到指定的位置,但总是一闪而过就没有了了。
    研究了好几天,始终问题都在。也查了很多资料,却总也找不到症结所在。
    然后就去一步一步打断点,执行都正常,却总在最后一步执行完成后会使显示出来的数据消失。
    我的html功底不怎么深厚,一直没看出原因,但是断点跟踪的时候总感觉最后一步执行完成时有一个全页的刷新动作,一开始以为是js搞的鬼,就一直调啊调,调啊调,怎么调都不行。
    刚才回来重新审查php代码的时候突然注意了这样一句:
    echo '<a href="" onclick="list_childnode( \''.THIS_FILE.'\', \'node_8\', \'\', \'41\',\'20161129172320198886\', \'no\', \''.$nodeexists[0]["sn"].'\' )"> [+] </a>';
    发现 <a> 标签里面的那个 href 属性很是可疑,是不是它引起了页面的全页刷新呢? 果断去掉这个 href="" 再一试,果然不会再有一闪而过的情况了,我的数据安安稳稳的留在了页面上。
    总结了一下,是我对于html底层的技术太不了解造成的本次错误。在html中有很多标签会带来全页的刷新操作,大家在使用时一定要注意。本次排错的过程中也体会到了js对于html操作的阻滞作用,例如js会在自已执行完或者出错中断后才会允许html中<a>的href属性去刷新全页。但是这个阻滞作用仅是表现,具体的底层逻辑没有查到相关资料,所以没有搞清到底是js强行中断了html的操作,还是html让出了优先级让js去操作的。希望大牛们能给出指导。

0 0
原创粉丝点击