Maison  >  Article  >  développement back-end  >  javascript - ajax刷新的问题

javascript - ajax刷新的问题

WBOY
WBOYoriginal
2016-10-10 11:56:091034parcourir

就是想要类似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等)数据足以。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn