ajax怎样再次执行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax怎样再次执行?相关的知识,希望对你有一定的参考价值。
有两种方法可以让ajax重复执行
是设置时间,例如onclick()时间 onchange()事件等等,把ajax写到这些事件里面,只要触发了事件就会执行ajax
是封装函数,例如 function fun() 把ajax写到函数里,只要调用函数,ajax就会执行
fun();fun();反复调用就反复执行
希望对你有帮助
$.ajax(
...
);
;
doAjax();
doAjax();本回答被提问者和网友采纳
我怎样才能使这个 AJAX 工作?
【中文标题】我怎样才能使这个 AJAX 工作?【英文标题】:How can I make this AJAX to work? 【发布时间】:2012-08-21 05:27:27 【问题描述】:我正在尝试制作一小部分 AJAX 来工作。它提醒我正确的网址,但我无法加载页面。 这是 ajax.js :
$(document).ready(function()
$('#sidebar-content ul li a').click(function()
var toLoad = $(this).attr('href');
$('#content').load(toLoad);
return false;
);
);
我在这里使用 Laravel 是我的 default.template.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$title</title>
<meta name="description" content="Empire - XHTML Template" />
HTML::style('css/style.css')
HTML::script('js/jquery.min.js')
HTML::script('js/ajax.js')
<!-- PAGE OPENING ANIMATION -->
<script type="text/javascript">
jQuery(document).ready(function()
jQuery('#page').css('display':'inline','width':'300px','overflow':'hidden','margin-right':'340px');
jQuery('#sidebar').css('margin-left':'326px'););
jQuery(window).load(function() jQuery('#hp_preloader').delay(800).animate('opacity':'0',1400,function()
jQuery('#slider-nivo').nivoSlider(
controlNav:true,controlNavThumbs:false,keyboardNav:false,pauseOnHover:false,prevText:'',nextText:'',effect:'fade',animSpeed:300,pauseTime:4000);
jQuery(this).remove();jQuery('#sidebar').delay(800).animate('margin-left':'0px',2100);jQuery('#page').delay(800).animate('margin-right':'0px','width':'666px',
2100);););
</script>
<meta charset="UTF-8">
</head>
<body>
<!-- SITE WRAPPER -->
<div id="wrapper">
<div id="page">
<div id="content">
$content
<!-- SIMPLE HORIZONTAL LINE -->
<div class="hr2"></div>
</div>
<!-- #content ends -->
</div>
<!-- #page ends -->
<!-- SIDEBAR -->
<div id="sidebar">
<div id="sidebar-content">
<!-- MENU -->
<ul id="menu">
<li class="current"><a href="<?php echo URL::to_route('articles'); ?>">ANASAYFA</a></li>
<li><a href="<?php echo URL::to_route('abouts'); ?>">HAKKIMIZDA</a></li>
<li>HİZMETLERİMİZ
<ul>
<li><a href="./blog3.html">Eğitim Hizmetlerimiz</a></li>
<li><a href="./portfolio-3c.html">Neurofeedback</a></li>
<li><a href="./portfolio-2c.html">Biofeedback</a></li>
</ul>
</li>
</div>
<!-- #sidebar ends -->
</div>
<!-- #wrapper ends -->
</body>
</html>
进入页面有动画。当我点击链接时,如果我点击警告地址显示正确但没有内容打开并且java控制台显示所有脚本文件再次加载。可以查一下吗?
【问题讨论】:
【参考方案1】:您似乎忘记阻止A
-tags 默认行为,即重定向。像这样修改你的点击事件:
$('#sidebar-content ul li a').click(function (e)
e.preventDefault(); // Prevents link's default behavior.
var toLoad = $(this).attr('href');
$('#content').load(toLoad);
return false;
);
如果还是不行,使用console.log()
进行调试,如下:
$('#sidebar-content ul li a').click(function (e)
e.preventDefault(); // Prevents link's default behavior.
var toLoad = $(this).attr('href');
console.log(toLoad); // whats in toLoad?
console.log($("#content")); // maybe content isnt there?
$('#content').load(toLoad);
return false;
);
【讨论】:
同样的问题仍然没有帮助。 确保硬刷新页面 (Ctrl+F5) 另外,边栏代码是与页面一起加载的,还是与 AJAX 一起加载的? 如果你只是打开页面没有问题,但是如果你点击侧边栏菜单中的任何链接,它表明所有的Javascript文件都被再次GET请求但没有显示内容,侧边栏菜单仍然存在打开。 您是说页面正在刷新,还是内容正在加载,但您只是看不到?以上是关于ajax怎样再次执行?的主要内容,如果未能解决你的问题,请参考以下文章
knockoutjs 调用一直在执行,我怎样才能只调用一次?