Maison >développement back-end >tutoriel php >javascript - ajax刷新的问题
就是想要类似segmentfaul的效果 点击哪个分区就显示出相应的内容 但是现在的问题是不知道href的链接怎么写 我想要内容在当前页面显示 herf不能写#吧 如果写href="1.html"
就会出现先显示数据再跳转的情况 这样页面就是空的 不能显示出来数据 这种情况该怎么办呢? 麻烦大家看仔细一点 我不是想阻止跳转啊 我想知道segmentfault这种效果 是怎么实现的 如果用的ajax完全没必要去跳转刷新页面 但是segmentfault是有跳转刷新的 这个是怎么弄的呢?
<code>代码只是大概描述一下 1.html <title></title> <script type="text/javascript"> document.getElementById('java').onclick=function(){ div.innerHTML=str; } </script> <a href="#" id="java">java</a> <a href="#" id="php">php</a> <div></div> </code>
就是想要类似segmentfaul的效果 点击哪个分区就显示出相应的内容 但是现在的问题是不知道href的链接怎么写 我想要内容在当前页面显示 herf不能写#吧 如果写href="1.html"
就会出现先显示数据再跳转的情况 这样页面就是空的 不能显示出来数据 这种情况该怎么办呢? 麻烦大家看仔细一点 我不是想阻止跳转啊 我想知道segmentfault这种效果 是怎么实现的 如果用的ajax完全没必要去跳转刷新页面 但是segmentfault是有跳转刷新的 这个是怎么弄的呢?
<code>代码只是大概描述一下 1.html <title></title> <script type="text/javascript"> document.getElementById('java').onclick=function(){ div.innerHTML=str; } </script> <a href="#" id="java">java</a> <a href="#" id="php">php</a> <div></div> </code>
就写单独的url吧,它也不是ajax刷新,就是get。有很多小版块其实也问题不大,后端也很轻松。因为数据格式基本差不多,匹配路由时写个正则去匹配请求的url就行了,然后处理数据在一个controller里,在根据不同的url返回不同的数据即可。而且前端模板也不需要变化很大,复用性也很强。
在事件处理函数中可以通过调用preventDefault
或者return false
来阻止浏览器的默认行为(这里的默认行为就是跳转)。另外他是服务器渲染,并不是ajax。
最后,建议买本书系统的学习,这些问题真的太基础了,即使是没有系统的学习过,搜索或者查API的效率也比提问高得多
不管 <a></a>
的 href
是啥,你都可以在事件中阻止默认行为
下面是 jQuery 代码,原生代码也差不多,调用 event 的 preventDefault(),或者返回 false
。
<code class="javascript">$("#java").on("click", e => { e.preventDefault(); });</code>
不过也可以直接设置 href
让它啥也不干
<code class="html"><a href="javascript:%20void(0)" ...>...</a></code>
点击到某个页面的时候,这个页面对应的js代码发送一个HTTP GET请求到后台,然后后台返回相应的(比如java/php等)数据足以。