【发布时间】:2016-07-29 12:50:04
【问题描述】:
您好,我的要求是在发送 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
使用上面的代码,sn-p ajax 加载器正在工作,但我的页面在微调器加载时没有被禁用。请指导我如何在加载 ajax 时禁用页面。
【问题讨论】:
-
将
async:true添加到ajax选项;它会阻止页面; -
您可以参考this 的帖子了解详情。它对我有用。
-
@itzmukeshy7
async: false自 jQuery 1.8 起已弃用。 OP 应该使用覆盖来阻止除微调器之外的所有 UI。如果您不想自己动手,甚至还有一个插件:malsup.com/jquery/block
标签: javascript jquery ajax