我用户jquery.ajax调用asp.net mvc的控制器...我想显示一个加载指示器..我试过这个,但这似乎不起作用...
<div class="loading" style="padding-left:5px; margin-bottom:5px;display:none;">
Loading... 
</div>
我的jquery ajax调用看起来像这样,
function getMaterials(currentPage) {
$.ajax({
url: "Materials/GetMaterials",
data: {'currentPage': (currentPage + 1) ,'pageSize':5},
contentType: "application/json; charset=utf-8",
global: false,
async: false,
dataType: "json",
success: function(data) {
var divs = '';
$("#ResultsDiv").empty();
$.each(data.Results, function() {
//my logic here....
$(".loading").bind("ajaxStart", function() {
$(this).show();
}).bind("ajaxStop", function() {
$(this).hide();
});
}
});
return false;
}
我的装载指示似乎没有出现......任何建议......
答案 0 :(得分:4)
使用.ajax()
,您应该致电:
beforeSend: function(xmlHttpRequest){
// show anything here
}
和
complete: function(xmlHttpRequest, status){
// hide it again
}
答案 1 :(得分:2)
ajaxStart
和beforeSend
适用于Firefox,但不适用于所有浏览器(即Safari)。我还在为这个