jquery ajaxStart不执行

debugbird 2011-06-02 09:02:58
哪位大虾可以帮我解释下这个,为什么这里的ajaxStart事件不执行?
小弟谢谢了!!!


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全局Ajax事件应用示例</title>
<style type="text/css">
button, div, li, a {
font-size: 12px;
font-family: Tahoma;
}

#loading {
display: none;
}
</style>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var url = "http://services.digg.com/stories/top?appkey=http%3A%2F%2Fmashup.com&type=javascript&callback=?";
$.getJSON(url, function(data){
$.each(data.stories, function(i, story){
var content = "<li><a href='" + story.href + "' target='_blank'>" + story.title + "</a>";
$("#res ul").append(content);
if (i == 3)
return false;
});
});
});
$().ajaxStart(function(){
$("#loading").show();
}).ajaxStop(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<button>
加载数据
</button>
<div id="loading">
数据加载中...<img src="images/ajax-loader.gif" />
</div>
<div id="res">
<ul type="square">
</ul>
</div>
</body>
</html>


...全文
795 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackgull 2011-09-08
  • 打赏
  • 举报
回复
加上这一句,$.ajaxPrefilter(function (options){options.global = true;});

具体原因:This is because you're doing a JSONP request。
链接:http://bugs.jquery.com/ticket/8338
RobinCherry 2011-08-17
  • 打赏
  • 举报
回复
缓存问题
加上一句:$.ajaxSetup({ cache: false });
jonlyandyumi 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zhuzhuaipps 的回复:]
这是链接
http://topic.csdn.net/u/20110604/10/c1793193-c978-47c7-8de7-623d20ea2c37.html


引用 12 楼 jiangguoliao 的回复:
引用 11 楼 zhuzhuaipps 的回复:
大家帮我看看啊,为什么第一次执行有加载动画,以后就没有呢


我的也是,第一次执行有加载动画,之后就没有了,只……
[/Quote]

谢谢!
但我copy你的例子运行正常,但放到我的项目里也是只执行第一次,晕!用的也是相同的jquery.js!
jonlyandyumi 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhuzhuaipps 的回复:]
大家帮我看看啊,为什么第一次执行有加载动画,以后就没有呢
[/Quote]

我的也是,第一次执行有加载动画,之后就没有了,只有刷新当前页面后才有,但还是只执行第一次。晕,有什么解决办法
debugbird 2011-07-18
  • 打赏
  • 举报
回复
这是链接
http://topic.csdn.net/u/20110604/10/c1793193-c978-47c7-8de7-623d20ea2c37.html

[Quote=引用 12 楼 jiangguoliao 的回复:]
引用 11 楼 zhuzhuaipps 的回复:
大家帮我看看啊,为什么第一次执行有加载动画,以后就没有呢


我的也是,第一次执行有加载动画,之后就没有了,只有刷新当前页面后才有,但还是只执行第一次。晕,有什么解决办法
[/Quote]
debugbird 2011-07-18
  • 打赏
  • 举报
回复
我那上面已经说明问题了!!

[Quote=引用 12 楼 jiangguoliao 的回复:]
引用 11 楼 zhuzhuaipps 的回复:
大家帮我看看啊,为什么第一次执行有加载动画,以后就没有呢


我的也是,第一次执行有加载动画,之后就没有了,只有刷新当前页面后才有,但还是只执行第一次。晕,有什么解决办法
[/Quote]
debugbird 2011-06-04
  • 打赏
  • 举报
回复
大家帮我看看啊,为什么第一次执行有加载动画,以后就没有呢
debugbird 2011-06-03
  • 打赏
  • 举报
回复
为什么我的没有效果呢,总是出现不了加载动画呢?
我在服务器上面试了,在客户端上试了都还是不行?

[Quote=引用 8 楼 showbo 的回复:]
下面的代码就增加了选择器,我这里ff3.6,IE7,gg浏览器都能运行啊


HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.……
[/Quote]
mark620 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 showbo 的回复:]
下面的代码就增加了选择器,我这里ff3.6,IE7,gg浏览器都能运行啊


HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.……
[/Quote]

试下这个估计可以。
  • 打赏
  • 举报
回复
下面的代码就增加了选择器,我这里ff3.6,IE7,gg浏览器都能运行啊

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>全局Ajax事件应用示例</title>
<style type="text/css">
button, div, li, a {
font-size: 12px;
font-family: Tahoma;
}

#loading {
display: none;
}
</style>
<script type="text/javascript" src="jq.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var url = "http://services.digg.com/stories/top?appkey=http%3A%2F%2Fmashup.com&type=javascript&callback=?";
$.getJSON(url, function(data){
$.each(data.stories, function(i, story){
var content = "<li><a href='" + story.href + "' target='_blank'>" + story.title + "</a>";
$("#res ul").append(content);
if (i == 3)
return false;
});
});
});
//==========
$('#loading').ajaxStart(function(){
$(this).show();
}).ajaxStop(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<button>
加载数据
</button>
<div id="loading">
数据加载中...<img src="images/ajax-loader.gif" />
</div>
<div id="res">
<ul type="square">
</ul>
</div>
</body>
</html>
qingYun1029 2011-06-03
  • 打赏
  • 举报
回复
这是我写的代码,贴一点给你参考一下。。。


$("#show").ajaxSend(function(){
$(this).html("<img id=\"loading\" src=\"images/loading.gif\" />");
});
$("#show").ajaxComplete(function(){
$(this).show();
});

$.get("AjaxValidate/GetCarListInfo.aspx?conditions=" + encodeURIComponent(condis),function(data){
var arr = data.split('--');
show.innerHTML = arr[1]; //显示车辆列表
document.getElementById("divSplitPage").innerHTML = arr[0];
window.parent.lastpageno = (arr[2].split('='))[1];//设置最后一页的页码
qingYun1029 2011-06-03
  • 打赏
  • 举报
回复
复制一个简单的ajax代码看看,从jquery的api文档里面。。。

然后加上ajaxStar()方法试试。。。
debugbird 2011-06-03
  • 打赏
  • 举报
回复
传递了也不行
能不能帮我下啊
[Quote=引用 2 楼 showbo 的回复:]
$("#loading").ajaxStart(function(){
$("#loading").show();
}).ajaxStop(function(){
$(this).hide();
});
[/Quote]
  • 打赏
  • 举报
回复
要传递选择器
  • 打赏
  • 举报
回复
$("#loading").ajaxStart(function(){
$("#loading").show();
}).ajaxStop(function(){
$(this).hide();
});
debugbird 2011-06-02
  • 打赏
  • 举报
回复
晕,同样都是帖子,为什么一个都不鸟我!
该版本引入了大量的新特性,包括: 1. 模块化 在jQuery 1.8中,您可以移除一些不需要的模块,以构建一个专属的jQuery版本。通过基于grunt的新构建系统,你可以轻松实现该功能。可以移除的模块包括ajax、css、dimensions、effects和offset。更多信息可参阅README file。 2. 根据浏览器为CSS属性加前缀 某些CSS属性前带有供应商前缀,这表明该属性还未纳入W3C标准。在jQuery 1.8中,可以采用无前缀的属性名,并自动生成适合当前浏览器的前缀。例如,在Chrome中,jQuery调用$("#myscroll").css("marquee-direction", "backwards")将设置为“-webkit-marquee-direction: backwards”。 3. 动画 在jQuery 1.8中,你可以更容易地添加或修改动画。新的“$.Animation”提供了坚实的基础,并修复了之前版本中的许多bug,以便你的动画能够支持老版浏览器。如果你的Web应用只针对现代浏览器,你可以完全移除animation模块。 4. CSS选择器引擎Sizzle jQuery 1.8中重写了选择器引擎,大大提升了性能。此外,选择器引擎Sizzle修复了一些边缘问题和bug,包括对于多个选择符(~ > +)的改进、更好地检测浏览器bug等。 5. XSS防护 $()方法可以创建HTML元素,如果被用来传递一个[removed]标签,则可以运行脚本。开发者有时会忘记这一点,将不受信任的源或用户输入的字符串传递到jQuery,就可能导致脚本注入,使攻击者可以窃取cookies或破坏页面。 jQuery 1.8引入了一个新的方法“$.parseHTML”。它可以让你指定HTML字符串,它们会被作为HTML解析,$()将作为选择器来解析字符串。“$.parseHTML”也提供了一种方式将HTML解析为DOM片段,并控制可能包含的任何脚本的执行。这对于由Content Security Policy (CSP)控制的JavaScript环境来说特别重要,因为注入的脚本可能导致安全警告或异常。 在1.9中,一些HTML字符串将不再会被$()识别。 6. 不建议使用或将移除的功能 $.browser:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用兼容插件。或者你可以试试Modernizr。 $.sub:该方法是在jQuery 1.5中引入的,但是被证明不是很有用,将被移到jQuery 1.9兼容性插件中。 全局AJAX事件:一些事件(如ajaxStart)可以被附加到不在一个文档中的任何元素中,这将导致效率低下。在1.9中,Ajax事件将只能附加到文档中。
该版本引入了大量的新特性,包括: 1. 模块化 在jQuery 1.8.1中,您可以移除一些不需要的模块,以构建一个专属的jQuery版本。通过基于grunt的新构建系统,你可以轻松实现该功能。可以移除的模块包括ajax、css、dimensions、effects和offset。更多信息可参阅README file。 2. 根据浏览器为CSS属性加前缀 某些CSS属性前带有供应商前缀,这表明该属性还未纳入W3C标准。在jQuery 1.8.1中,可以采用无前缀的属性名,并自动生成适合当前浏览器的前缀。例如,在Chrome中,jQuery调用$("#myscroll").css("marquee-direction", "backwards")将设置为“-webkit-marquee-direction: backwards”。 3. 动画 在jQuery 1.8.1中,你可以更容易地添加或修改动画。新的“$.Animation”提供了坚实的基础,并修复了之前版本中的许多bug,以便你的动画能够支持老版浏览器。如果你的Web应用只针对现代浏览器,你可以完全移除animation模块。 4. CSS选择器引擎Sizzle jQuery 1.8.1中重写了选择器引擎,大大提升了性能。此外,选择器引擎Sizzle修复了一些边缘问题和bug,包括对于多个选择符(~ > +)的改进、更好地检测浏览器bug等。 5. XSS防护 $()方法可以创建HTML元素,如果被用来传递一个[removed]标签,则可以运行脚本。开发者有时会忘记这一点,将不受信任的源或用户输入的字符串传递到jQuery,就可能导致脚本注入,使攻击者可以窃取cookies或破坏页面。 jQuery 1.8.1引入了一个新的方法“$.parseHTML”。它可以让你指定HTML字符串,它们会被作为HTML解析,$()将作为选择器来解析字符串。“$.parseHTML”也提供了一种方式将HTML解析为DOM片段,并控制可能包含的任何脚本的执行。这对于由Content Security Policy (CSP)控制的JavaScript环境来说特别重要,因为注入的脚本可能导致安全警告或异常。 在1.9中,一些HTML字符串将不再会被$()识别。 6. 不建议使用或将移除的功能 $.browser:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用兼容插件。或者你可以试试Modernizr。 $.sub:该方法是在jQuery 1.5中引入的,但是被证明不是很有用,将被移到jQuery 1.9兼容性插件中。 全局AJAX事件:一些事件(如ajaxStart)可以被附加到不在一个文档中的任何元素中,这将导致效率低下。在1.9中,Ajax事件将只能附加到文档中。 7. 修正了1.8版本的BUG 提升性能。

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧