我有非常简单的代码,我通过jquery进行部分回发,并使用ajaxStart/ajaxStop进行一些工作.但它不起作用.我只是不明白为什么它不起作用.这是我的代码
$("#imgHolder").ajaxStart(function () {
$('div#content').block({
message: '<table><tr><td><img src="../images/ajax-loader.gif" border="0"/></td><td><h3>Processing...</h3></td></tr><table>',
css: { border: '1px solid #a00' }
});
$('#imgHolder').empty();
$("#btnPrint").hide();
});
$("#imgHolder").ajaxStop(function () {
$("#btnPrint").show();
$('div#content').unblock();
});
$(document).ready(function () {
$.ajax({
type: "POST",
url: "UPSLabelFormUK.aspx/ProcessInfo",
data: JSON.stringify(DTO),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d[0].Message == "SUCCESS") {
//alert(data.d[0].TrackNumber);
///alert(data.d[0].LabelImagePath);
var _images = [data.d[0].LabelImagePath];
$.each(_images, function (e) {
$(new Image()).load(function () {
$('#imgHolder').html("<img src='" + data.d[0].LabelImagePath + "' width='310' height='402' border=0/>");
}).attr('src', this);
});
}
} ,
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
});
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么我的上面的ajaxstart/ajaxstop不起作用.请帮我理解我的代码中出错的原因.
但是当我更改代码时,我的ajaxstart/ajaxstop开始工作了
$(document).ajaxStart(function () {
$('div#content').block({
message: '<table><tr><td><img src="../images/ajax-loader.gif" border="0"/></td><td><h3>Processing...</h3></td></tr><table>',
css: { border: '1px solid #a00' }
});
$('#imgHolder').empty();
$("#btnPrint").hide();
});
$(document).ajaxStop(function () {
$("#btnPrint").show();
$('div#content').unblock();
});
Run Code Online (Sandbox Code Playgroud)
唯一的变化是$(document).ajaxStop(function () {实现的
$("#imgHolder").ajaxStart(function () {
Run Code Online (Sandbox Code Playgroud)
所以请解释为什么我的上面的ajaxStart/ajaxStop代码不起作用.谢谢
鉴于只有在没有其他ajax请求正在进行时才调用ajaxStart这一事实,如果你想将它用作AJAX加载器指示器,它就没用了.
你曾尝试过(告诉我它是否正常工作)
jQuery(document).ajaxStart(function(){
alert("it begins");
})
Run Code Online (Sandbox Code Playgroud)