[英]Difference `ajax:send` event and `click` event that send ajax request
我在这样的导轨中使用ajax请求和coffee
。
$('#reload').on(
'click': -> $('#response').html "<div class='panel'><img src='assets/load.gif'/></div>"
'ajax:success': (data, res, xhr) ->
$('#response').html res
)
这段代码可以正常工作,但是当我将click
事件更改为ajax:send
事件(我认为它可以更正确地表示我在做什么)时,代码的工作原理几乎没有什么不同。
单击后即会出现该panel
,但是加载图像仅在2或3秒后出现。 我这次将像以前一样使用click
事件。 但是我想知道为什么会发生这种情况以避免我将来的错误。
出现图像延迟是因为我以错误的方式使用了涡轮链接。
我的整个代码是这样的。
$ ->
$('#reload').on(
'ajax:send': -> $('#response').html "<div class='panel'><img src='assets/load.gif'/></div>"
'ajax:success': (data, res, xhr) ->
$('#response').html res
)
然后我将$ ->
重写$ ->
ready = ->
并添加了这段代码,那么延迟就不再发生了。
$(document).ready(ready)
$(document).on('page:load', ready)
您也可以使用ajax:before
$('#reload').bind('ajax:before', function() {
$('#response').html("<div class='panel'><img src='assets/load.gif'/></div>");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.