$(文件).ajaxstart没有开火
发布时间:2020-12-16 02:51:30 所属栏目:百科 来源:网络整理
导读:我有两个函数可以进行$.get JSON调用 – 一个查看存储在服务器上的JSON,另一个调用Flickr. 我有这个: $(document).ajaxStart(function(){ alert('requeststart'); //$('#loading').show(); }); 当使用某个给定路径调用$.getJSON时,它会起作用,但是当$.getJS
我有两个函数可以进行$.get
JSON调用 – 一个查看存储在服务器上的JSON,另一个调用Flickr.
我有这个: $(document).ajaxStart(function(){ alert('requeststart'); //$('#loading').show(); }); 当使用某个给定路径调用$.getJSON时,它会起作用,但是当$.getJSON调用Flickr时它不会发出警报. Flickr调用工作,并且所有内容都按原样加载…但它不会触发ajaxStart. (我正在使用ajaxStart和ajaxStop来显示loading-gif) 有任何想法吗? 这是调用Flickr的函数: $('#submit').on("click",function (evt) { evt.preventDefault(); var tag = $('input').val(); if (tag == "") { alert("please enter a tag"); } else { $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",{tags: tag,tagmode: "any",format: "json" },function(data) { $.each(data.items,function(i,item){ var name = names[index]; $("#" + name).empty(); $('<img src="' + item.media.m.replace("_m.jpg",".jpg") + '" />').appendTo("#" + name); $('<a href="' + item.link + '"> ' + item.title + '</a>').appendTo("#" + name ); index ++; if (i==5) { index = 0; } }); }); } }); 解决方法
如果jQuery内部使用XMLHttpRequest对象,则jQuery仅触发这些事件(
ajaxStart和
ajaxStop).
但是,如果使用回调参数(JSONP)从不同的域请求数据,则jQuery不使用XMLHttpRequest,而是通过插入< script>来实现.标签. 这就是事件未被解雇的原因. 作为一种解决方法,您可以在$.getJSON调用之前启动加载动画,并在函数(数据){..块中停止它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |