我有一个简单的jquery代码,用ajax在jQuery模式窗口中发送内容!一切正常,没有任何问题。在正常情况下,点击发送按钮后,1-2秒后此代码显示结果,
function AddFastqpro(action) {
var b = {};
b[dle_p_send] = function () {
var response = $('#dle-poke').val()
$.post(dle_root + 'engine/ajax/fast.php', { text: response, action: action },
function (data) {
if (data == 'ok') {
DLEalert(dle_p_send_ok, dle_info);
}
else { DLEalert(data, dle_info); }
});
};
$('body').append("<div id='dlepopup' style='display:none'><textarea id='dle-poke'></textarea></div>");
$('#dlepopup').dialog({
autoOpen: true,
modal: true,
draggable: false,
width: 350,
dialogClass: "modalfixed",
buttons: b
});
};
我的问题是,在点击发送后和显示结果之前,如何添加和显示加载图片?
答案 0 :(得分:16)
您可以ajaxStart()
和ajaxComplete()
$("#loading").ajaxStart(function(){
$(this).show();
});
$("#loading").ajaxComplete(function(){
$(this).hide();
});
或
$.ajax({
url : dle_root + 'engine/ajax/fast.php',
data: { text: response, action: action },
beforeSend: function(){
$("#loading").show();
},
complete: function(){
$("#loading").hide();
},
success: function (data) {
if (data == 'ok') {
DLEalert(dle_p_send_ok, dle_info);
}
else { DLEalert(data, dle_info); }
});
});
答案 1 :(得分:5)
$('#button').click(function(){
$('#loading-div').html('<img src="..." />');
$.ajax({
type: 'POST',
url: '...',
data: {...},
success: function(response) {
$('#loading-div').html('');
}
});
});
如果您有id="button"
的按钮,以及可以显示图片的某些<div id="loading-div"></div>
答案 2 :(得分:1)
您可以使用$.ajax()
代替$.post()
,并添加beforeSend
功能