前端之家收集整理的这篇文章主要介绍了
ajax输出内容一闪而过,终于知道是怎么回事了,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题郁闷了我好几天了,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去操作的。希望大牛们能给出指导。