您好,我的要求是当发送Ajax请求时显示加载旋转器,并在页面不可点击时禁用它。我已经包含了下面给出的代码:
$('#expressShippingCalculation input').change ->
if $('#shipping_method4').is(':checked')
additionalAmountExpress()
data = $('#shippingDetails').serialize()
expressValue = true
else
$('#additional-charge').hide()
expressValue = false
$.ajax
url: '/update_express_shipping?expressShipping=' +expressValue
type: 'PATCH'
return
$(document).ajaxStart ->
$('#spinner').show()
return
$(document).ajaxComplete ->
$('#spinner').hide()
return
$(document).ajaxError ->
$('#spinner').hide()
return
使用上述代码片段,Ajax加载器正在工作,但当旋转器正在加载时,我的页面不会被禁用。请指导我如何在Ajax加载时禁用页面。
async:true
添加到 ajax 选项中,它将阻止页面。 - itzmukeshy7async: false
已经自 jQuery 1.8 起被弃用。开发者应该使用遮罩来阻止所有 UI,除了旋转图标。甚至有一个插件可供使用,如果您不想自己编写:http://malsup.com/jquery/block/ - Andy