为什么小弟我的一个ajax请求data总是被取消,回复data为空

> jquery ajax请求老是error的原因
jquery ajax请求老是error的原因
hfgj0613 & &
发布时间: & &
浏览:233 & &
回复:0 & &
悬赏:0.0希赛币
jquery ajax请求总是error的原因
今天写一个jQuery.ajax方法的时候,无论怎么搞都只会调用error对应的函数。后来发现,是因为在这一段jQuery后面我加了一行重新reload页面:  var the_id = xxx
jQuery.ajax() {
url : "del_setting",
data : { id : the_id },
dataType : "text",
success : function() {
alert("success");
error : function() {
alert("error");
window.location.reload();
因为AJAX是异步加载的,所以之后的页面重载会导致AJAX请求发送失败(Firefox,对于google chrome,请求会发送出去,但仍然执行的是error的function)。把window.location.reload();写到success或error的回调函数中即可。或者把请求设置为同步的,方法为在jQuery.ajax()方法中,指定参数async : false。
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&达人们,帮我看看啊,搞了几天了,初步判断是缓存问题,不过还是不知道怎么改?
下面附上源代码
&!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/&charset=utf-8&&/&
&&&&&&&&&title&全局Ajax事件应用示例&/title&
&&&&&&&&&style&type=&text/css&&
&&&&&&&&&&&&button,&div,&li,&a&{
&&&&&&&&&&&&&&&&font-size:&12
&&&&&&&&&&&&&&&&font-family:&T
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&#loading&{
&&&&&&&&&&&&&&&&display:&
&&&&&&&&&&&&}
&&&&&&&&&/style&
&&&&&&&&&script&type=&text/javascript&&src=&jquery.js&&
&&&&&&&&&/script&
&&&&&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){
&&&&&&&&&&&&&&&&$.ajaxSetup({
cache:false,
&&&&$(&#loading&).ajaxStart(function(){
&&&&&&&&&&&&&&&&&&&&$(this).show();
&&&&&&&&&&&&&&&&}).ajaxStop(function(){
&&&&&&&&&&&&&&&&&&&&$(this).hide();
&&&&&&&&&&&&&&&&}).ajaxError(function(){
&&&&&&&&&&&&&&&&&&&&alert(&error&);
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&$(&button&).click(function(){
&&&&&&&&&&&&&&&&&&&&var&url&=&&/stories/top?appkey=http%3A%&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&
&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&$.ajax({
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&url:&url,
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&data:&{
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&appkey&:&&appkey=http%3A%&,
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&type&:&&javascript&
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&},
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&dataType:&&jsonp&,
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&cache:&false,
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&Type:&&GET&,
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&success:&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&
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&//&&&&&&&&&&&&&&&&&&&&})
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&});
&&&&&&&&&/script&
&&&&&/head&
&&&&&body&
&&&&&&&&&button&
&&&&&&&&&&&&加载数据
&&&&&&&&&/button&
&&&&&&&&&div&id=&loading&&
&&&&&&&&&&&&数据加载中...&img&src=&images/ajax-loader.gif&&/&
&&&&&&&&&/div&
&&&&&&&&&div&id=&res&&
&&&&&&&&&&&&&ul&type=&square&&
&&&&&&&&&&&&&/ul&
&&&&&&&&&/div&
&&&&&/body&
这是开始的源代码,第一次执行有加载动画,关闭浏览器后,就没有加载动画了?
gooooooooooogle了下,发现是缓存问题,上面提供了2种方法,
这是原文链接:
/questions/1401117/ajaxstart-fails-on-subsequent-requests-when-using-getjson
1.使用$.ajaxSetup({&cache:&false&});&
发现根本没执行,后来在里面加了个success方法,发现还是没有执行;
2.然后就在url后面加了随机数
这是源代码:
&!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/&charset=utf-8&&/&
&&&&&&&&&title&全局Ajax事件应用示例&/title&
&&&&&&&&&style&type=&text/css&&
&&&&&&&&&&&&button,&div,&li,&a&{
&&&&&&&&&&&&&&&&font-size:&12
&&&&&&&&&&&&&&&&font-family:&T
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&#loading&{
&&&&&&&&&&&&&&&&display:&
&&&&&&&&&&&&}
&&&&&&&&&/style&
&&&&&&&&&script&type=&text/javascript&&src=&jquery.js&&
&&&&&&&&&/script&
&&&&&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){&&&&
&&&&$(&#loading&).ajaxStart(function(){
&&&&&&&&&&&&&&&&&&&&$(this).show();
&&&&&&&&&&&&&&&&}).ajaxStop(function(){
&&&&&&&&&&&&&&&&&&&&$(this).hide();
&&&&&&&&&&&&&&&&}).ajaxError(function(){
&&&&&&&&&&&&&&&&&&&&alert(&error&);
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&$(&button&).click(function(){
&&&&&&&&&&&&&&&&&&&&var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?d=&+Math.random();
&&&&&&&&&&&&&&&&&&&//&var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?&d=&+Math.random();
$.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&
&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&});
&&&&&&&&&/script&
&&&&&/head&
&&&&&body&
&&&&&&&&&button&
&&&&&&&&&&&&加载数据
&&&&&&&&&/button&
&&&&&&&&&div&id=&loading&&
&&&&&&&&&&&&数据加载中...&img&src=&images/ajax-loader.gif&&/&
&&&&&&&&&/div&
&&&&&&&&&div&id=&res&&
&&&&&&&&&&&&&ul&type=&square&&
&&&&&&&&&&&&&/ul&
&&&&&&&&&/div&
&&&&&/body&
我执行了上面的两种url,的效果,发现第一个url,有加载动画,没有结果;第二个url直接403错误。
哪位达人,救救我!!小弟万分感激。。
回复讨论(解决方案)
var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?d=&+Math.random();
&&&&&&&&&&&&&&&&&&&//&var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?&d=&+Math.random();
试了下这两个&&$.getJSON()都没有成功&。
我的第一个有加载动画。
那你能不能帮我解决下,你都看到了,我连续发了3次帖了
var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?d=&+Math.random();
&&&&&&&&&&&&&&&&&&&//&var&url&=&&http://services.digg.co……
我的第一个有加载动画。
那你能不能帮我解决下,你都看到了,我连续发了3次帖了
引用&1&楼&zell419&的回复:
var&url&=&&/stories/top?appkey=http%3A%&type=javascript&callback=?d=&+M……
嗯&我也一直在关注&。在我看来是版本的原因&。
在用1.4.2的时候&。$.getJSON()&后&&ajaxStart()是可以执行的&。
如果换成1.5.2&ajaxStart()就没有执行了&。而我把$.getJSON()&换成一个普通的$.ajax()方法&又执行了&。
这是我测试出来的结论&&。&
1.5.2&&下面&如果url是个本地的文件&,ajaxStart()也可以执行&。
你用的是哪段代码,是上面那部分吗,有没有修改url
为什么我试了1.4.2版的也没效果呢
引用&2&楼&zhuzhuaipps&的回复:
我的第一个有加载动画。
那你能不能帮我解决下,你都看到了,我连续发了3次帖了
引用&1&楼&zell419&的回复:
var&url&=&&/stories/top?appkey=http%3A%&type=java……
嗯,我也试了的可以。
我的jQuery是1.6.1版的。
你可以看看这个链接,他跟我的问题是一样的!
/questions/1401117/ajaxstart-fails-on-subsequent-requests-when-using-getjson
&!DOCTYPE&HTML&PUBLIC&&-//W3C//DTD&HTML&4.01//EN&&&http://www.w3.org/TR/html4/strict.dtd&&
&&&&&head&
&&&&&&&&&meta&http-equiv=&Content-Type&&content=&text/&charset=utf-8&&
&&&&&&&&&title&&/title&
&&&&&&&&&script&type=&text/javascript&&src=&jquery.js&&
&&&&&&&&&/script&
&&&&&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){
&&&&&&&&&&&&&&&&$(&button&).click(function(){
&&&&&&&&&&&&&&&&&&&&$.ajaxSetup({
&&&&&&&&&&&&&&&&&&&&&&&&url:&&ajax.txt&,
&&&&&&&&&&&&&&&&&&&&&&&&success:&function(result){
&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&div&).html(result);
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&$.ajax();
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&});
&&&&&&&&&/script&
&&&&&/head&
&&&&&body&
&&&&&&&&&div&id=&txt&&
&&&&&&&&&&&&&h2&通过&AJAX&改变文本&/h2&
&&&&&&&&&/div&
&&&&&&&&&button&
&&&&&&&&&&&&改变内容
&&&&&&&&&/button&
&&&&&/body&
1.5.2&下面&如果url是个本地的文件&,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/&charset=utf-8&&/&
&&&&&&&&&title&全局Ajax事件应用示例&/title&
&&&&&&&&&style&type=&text/css&&
&&&&&&&&&&&&button,&div,&li,&a&{
&&&&&&&&&&&&&&&&font-size:&12
&&&&&&&&&&&&&&&&font-family:&T
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&#loading&{
&&&&&&&&&&&&&&&&display:&
&&&&&&&&&&&&}
&&&&&&&&&/style&
&&&&&&&&&script&src=&/ajax/libs/jquery/1.5.2/jquery.min.js&&type=&text/javascript&&&/script&
&&&&&&&&&!--&script&src=&/ajax/libs/jquery/1.5.2/jquery.min.js&&type=&text/javascript&&&/script&--&
&&&&&&&&&/script&
&&&&&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){
&&&&&&&&&&&&&&&&$(&button&).click(function(){
&&&&&&&&&&&&&&&&&&&&var&url&=&&/stories/top?appkey=http%3A%&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&
&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&});
//==========
&&&&&&&&&&&&&&&&$('#loading').ajaxStart(function(){
&&&&&&&&&&&&&&&&&&&&alert(&ajaxStart&);
&&&&&&&&&&&&&&&&&&&&$(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&
这段代码&你分别用1.4.2&和1.5.2试下&,看alter()了没有&。
我这里ie6&ff效果都一致&,1.4.2&弹出&,1.5.2不弹出&。
&script&src=&/ajax/libs/jquery/1.4.2/jquery.min.js&&type=&text/javascript&&&/script&
这里是1.4.2的地址&。
我一般都是点击事件的时候启动动画,然后在success里面取消动画。。没你那么复杂。。
嗯,正如你所说的,在1.4.2中会出现动画,1.5.2没有了
&script&src=&/ajax/libs/jquery/1.4.2/jquery.min.js&&type=&text/javascript&&&/script&
这里是1.4.2的地址&。
嗯,正如你所说的,在1.4.2中会出现动画,1.5.2没有了
引用&8&楼&zell419&的回复:
&script&src=&/ajax/libs/jquery/1.4.2/jquery.min.js&&type=&text/javascript&&&/script&
这里是1.4.2的地址&。
嗯嗯&你用1.5&,$getJSON方法&,url是个本地的&又行&。
这个方法不错!!!
我一般都是点击事件的时候启动动画,然后在success里面取消动画。。没你那么复杂。。
晕,居然1.4.2版的jquery&也还有几个,
你给我的链接下载的未压缩版的,有160KB,我的1.4.2版的是220+KB
小的这个版本可以出现加载动画,大的不行。
引用&10&楼&zhuzhuaipps&的回复:
嗯,正如你所说的,在1.4.2中会出现动画,1.5.2没有了
引用&8&楼&zell419&的回复:
&script&src=&/ajax/libs/jquery/1.4.2/jquery.min.js&&type=&text/javascript&&&/script&
这里是1.……
可能就是版本问题&我想起来我把jquery1.6.1版的改成jquery名字了,试的都是1.6.1版的,
唉,悲剧!
晕,居然1.4.2版的jquery&也还有几个,
你给我的链接下载的未压缩版的,有160KB,我的1.4.2版的是220+KB
小的这个版本可以出现加载动画,大的不行。
引用&11&楼&zell419&的回复:
引用&10&楼&zhuzhuaipps&的回复:
嗯,正如你所说的,在1.4.2中会出现动画,1.5.2没有了
引用&8&楼&zell419&的回复:
可能就是版本问题&我想起来我把jquery1.6.1版的改成jquery名字了,试的都是1.6.1版的,
唉,悲剧!
引用&13&楼&zhuzhuaipps&的回复:
晕,居然1.4.2版的jquery&也还有几个,
你给我的链接下载的未压缩版的,有160KB,我的1.4.2版的是220+KB
小的这个版本可以出现加载动画,大的不行。
引用&11&楼&zell419&……
在你第一帖的时候&我就说版本&给你的代码&让你试试&。
暂时提供2种办法解决这个控制ajax加载动画
1.用到的是jquery-1.4.2版的,因为我用的jquery1.6.1版导致一直没有加载动画效果。只需要用1.4.2版就可以实现,下面是源代码:
&!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/&charset=utf-8&&/&
&&&&&&&&&title&全局Ajax事件应用示例&/title&
&&&&&&&&&style&type=&text/css&&
&&&&&&&&&&&&button,&div,&li,&a&{
&&&&&&&&&&&&&&&&font-size:&12
&&&&&&&&&&&&&&&&font-family:&T
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&#loading&{
&&&&&&&&&&&&&&&&display:&
&&&&&&&&&&&&}
&&&&&&&&&/style&
&&&&&&&&&script&type=&text/javascript&&src=&jquery-1.4.2.js&&
&&&&&&&&&/script&&&&&&&&
&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){
&&&&&&&&&&&&&&&&$(&button&).click(function(){
&&&&&&&&&&&&&&&&&&&&var&url&=&&/stories/top?appkey=http%3A%&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&
&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&$(&#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&
2.还有一种就是【izgnaw】提供的方法,非常感谢!!
&!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/&charset=utf-8&&/&
&&&&&&&&&title&全局Ajax事件应用示例&/title&
&&&&&&&&&style&type=&text/css&&
&&&&&&&&&&&&button,&div,&li,&a&{
&&&&&&&&&&&&&&&&font-size:&12
&&&&&&&&&&&&&&&&font-family:&T
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&#loading&{
&&&&&&&&&&&&&&&&display:&
&&&&&&&&&&&&}
&&&&&&&&&/style&
&&&&&&&&&script&type=&text/javascript&&src=&jquery-1.6.1.js&&
&&&&&&&&&/script&
&&&&&&&&&script&type=&text/javascript&&
&&&&&&&&&&&&$(document).ready(function(){
&&&&&&&&&&&&&&&&$(&button&).click(function(){
$(&#loading&).show();
&&&&&&&&&&&&&&&&&&&&var&url&=&&/stories/top?appkey=http%3A%&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&
$(&#loading&).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&
如果达人能够在1.6.1版本下,解决这个ajaxStart不执行问题,小弟拜谢!!!
呵呵,我写程序一般都求简,咋个简单我就咋个做。。
哈哈,大道至简嘛!!
呵呵,我写程序一般都求简,咋个简单我就咋个做。。
暂时提供2种办法解决这个控制ajax加载动画
1.用到的是jquery-1.4.2版的,因为我用的jquery1.6.1版导致一直没有加载动画效果。只需要用1.4.2版就可以实现,下面是源代码:
JScript&code
&!DOCTYPE&html&PUBLIC&&-//W3C//DTD&XHTML&1.0&Transitional//EN&&&http://www.w3.or……
杯具!&第一种办法一切正常,但我把url换成本地的效果只执行一次了,而我用了一下上面所说的加个随机数,如果这样写jsonpcallback=? &d=&+Math.random(),请求过去了,有返回值,但效果只执行一次。如果这样写jsonpcallback=?d=&+Math.random(),请求过去了,但没返回值。
引用&16&楼&zhuzhuaipps&的回复:
暂时提供2种办法解决这个控制ajax加载动画
1.用到的是jquery-1.4.2版的,因为我用的jquery1.6.1版导致一直没有加载动画效果。只需要用1.4.2版就可以实现,下面是源代码:
JScript&code
&!DOCTYPE&html&PUBLIC&&-//W3C//DTD&XHTML&1.0&Transitio……
楼主,终于搞清楚了原因了。原来这是一个bug,1.4.2的jquery库请求非本地文件时(有效果),请求本地文件时(没效果),1.6.2的jquery库则相反!&有没高人已经把这个bug修改过来了,分享一下吧!
我用的是1.6.2&版本,将
&&&&&&&&&&&&$(&#loading&).ajaxStart(function&()
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&$(this).show();
&&&&&&&&&&&&}).ajaxStop(function&()
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&$(this).hide();
&&&&&&&&&&&&});
放到$(&button&).click&之前,就可以解决。
或者换成1.4.2版本。
我自己写了一个例子,
&&&&&script&src=&../Scripts/jquery-1.6.2.min.js&&type=&text/javascript&&&/script&
&&&&&script&language=&javascript&&type=&text/javascript&&
&&&&&&&&$(document).ready(function&()
&&&&&&&&&&&&$(&body&).ajaxStart(function&()
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&alert(&Ajax&Start&);
&&&&&&&&&&&&});
&&&&&&&&&&&&&var&ajax&=&$.ajax(
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&url:&&test.js&,
&&&&&&&&&&&&&&&&type:&&GET&,
&&&&&&&&&&&&&&&&dataType:&&script&,
&&&&&&&&&&&&&&&&success:&function&()
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&alert(&脚本执行成功,然后到我了。&);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&});
&&&&&&&&});
只有将&$(&body&).ajaxStart&放到&$.ajax之前才能运行。
刚刚发现的:
加上这一句,$.ajaxPrefilter(function&(options){options.global&=&});
具体原因:This&is&because&you're&doing&a&JSONP&request。
链接:/ticket/8338
刚刚发现的:
加上这一句,$.ajaxPrefilter(function&(options){options.global&=&});
具体原因:This&is&because&you're&doing&a&JSONP&request。
链接:/ticket/8338
谢谢了啊&,呵呵。学习了!我用$.ajax发送的请求,服务端响应回来了json数据,但是这边拿不到数据,劳烦专业人士解答_百度知道var loginNameTxt = $(&#loginName&).val()
var trueName = $(&#trueName&).val();
var pwd = $(&#txtPassword&).val();
var email = $(&#txtEmail&).val();
var address = $(&#address&).val();
var telNum = $(&#telNum&).val();
var checkCode = $(&#txtCheckCode&).val();
alert(&fdfdgfdgfdg&);
$.post(&../ashx/UserRegist.ashx&, { loginName: loginNameTxt, trueName:
trueName, pwd: pwd, email: email, address: address, telNum: telNum, checkCode: checkCode
}, function (data) {
alert(data);
if (data == &0&) {
//$(&#checkCodeSpan&).text(&验证码错误&);
alert(&验证码错误!&);
} else if (data == &1&) {
alert(&恭喜,注册成功!&);
window.location(&../Default.aspx&);
} else if (data == &2&) {
alert(&注册失败!&);
alert(&未知错误!&);
------解决方案--------------------从代码中,没有看出有什么问题。看你后台怎么样?
------解决方案--------------------
执行了回调函数没有?最好改为$.ajax增加error回调,$.post动态页出错就什么反应都没有了JScript code
var loginNameTxt = $(&#loginName&).val()
var trueName = $(&#trueName&).val();
var pwd = $(&#txtPassword&).val();
var email = $(&#txtEmail&).val();
var address = $(&#address&).val();
var telNum = $(&#telNum&).val();
var checkCode = $(&#txtCheckCode&).val();
alert(&fdfdgfdgfdg&);
url: '../ashx/UserRegist.ashx'
, data: { loginName: loginNameTxt, trueName: trueName, pwd: pwd, email: email, address: address, telNum: telNum, checkCode: checkCode }
, type: 'POST'
, success: function (data) {
alert(data);
if (data == &0&) {
//$(&#checkCodeSpan&).text(&验证码错误&);
alert(&验证码错误!&);
} else if (data == &1&) {
alert(&恭喜,注册成功!&);
window.location(&../Default.aspx&);
} else if (data == &2&) {
alert(&注册失败!&);
alert(&未知错误!&);
, error: function (xhr) { alert('动态页错了\n\n'+xhr.responseText); }
------解决方案--------------------你单独运行这个:../ashx/UserRegist.ashx有没有问题。
------解决方案--------------------先看下后台输出什么东西没。
------解决方案--------------------探讨你单独运行这个:../ashx/UserRegist.ashx有没有问题。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

我要回帖

更多关于 jquery ajax 跨域请求 的文章

 

随机推荐