javascript - ajax刷新的问题

WBOY
发布: 2016-10-10 11:56:09
原创
1061 人浏览过

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

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!