Javascript ajax加载程序不显示
我的jquery Ajax工作正常 ajax调用方法时如何显示消息 我用了一些方法,但它不能正常工作Javascript ajax加载程序不显示,javascript,ajax,Javascript,Ajax,我的jquery Ajax工作正常 ajax调用方法时如何显示消息 我用了一些方法,但它不能正常工作 function drawChart(posId) { $.ajax({ type: 'GET', dataType: 'json', contentType: 'application/json', url: '@Url.Action("GetProviderReport", "
function drawChart(posId) {
$.ajax({
type: 'GET',
dataType: 'json',
contentType: 'application/json',
url: '@Url.Action("GetProviderReport", "Report")',
data: { posId: posId },
beforeSend: function () { $("#loaderDiv").css("display","block"); },
success: function(result) {
var data1 = new google.visualization.DataTable();
var data2 = new google.visualization.DataTable();
var data3 = new google.visualization.DataTable();
var months = ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'ابان', 'اذر', 'دی', 'بهمن', 'اسفند'];
data1.addColumn('string', 'ماه');
data1.addColumn('number', 'مجموع نظر سنجی');
for (var i = 0; i < result.length; i++) {
if (result[i].typeValue == 1) {
data1.addRow([months[result[i].MonthValue - 1], result[i].CountValue]);
}
}
var chart = new google.visualization.ColumnChart(document.getElementById('chartdiv7'));
函数绘图图(posId){
$.ajax({
键入:“GET”,
数据类型:“json”,
contentType:'应用程序/json',
url:'@url.Action(“GetProviderReport”、“Report”),
数据:{posId:posId},
beforeSend:function(){$(“#loaderDiv”).css(“display”,“block”);},
成功:功能(结果){
var data1=新的google.visualization.DataTable();
var data2=新的google.visualization.DataTable();
var data3=新的google.visualization.DataTable();
在各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各اسفند'];
data1.addColumn('string','ماه');
数据1.addColumn(“数字”、“数字”);
对于(变量i=0;i
这是HTML标记
如果这个函数中只有ajax调用,那么可以将css部分移动到函数的第一部分
然后在成功/错误部分再次隐藏它-需要在两者中都隐藏,以防ajax失败
function drawChart(posId) {
$('#loaderDiv').css('visibility', 'visible');
//OR
$('#loaderDiv').show();
$.ajax({
type: 'GET',
dataType: 'json',
contentType: 'application/json',
url: '@Url.Action("GetProviderReport", "Report")',
data: { posId: posId },
success: function(result) {
$('#loaderDiv').css('visibility', 'hidden');
//OR
$('#loaderDiv').hide();
如果这是一个单击事件,您可以在用户单击按钮($(“#loaderDiv”).css(“显示”、“块”))时添加加载程序,然后在get调用完成时删除加载程序($(“#loaderDiv”).css(“显示”、“无”);)
点击我
$(函数(){
$(“#btn”)。单击(函数(事件){
点击();
});
var=function(){
警报(“添加加载器”);
//使用ajax调用而不是setTimeout
setTimeout(函数(){
//移除成功/完成功能内的加载程序
警报(“删除加载程序”)
}, 2000);
}
});
非常感谢@craicerjak,所以我应该删除标记样式?如果你愿意,你可以-如果你删除了样式标记,它将一直被显示。在这种情况下,我通常有一个名为hide
的类,并使用它设置显示:无;
然后你可以根据需要添加或删除这个类,或者使用jQuery
<div>
<button id="btn">Click me</button>
<script type="text/javascript">
$(function(){
$("#btn").click(function(event) {
clicked();
});
var clicked = function(){
alert("add loader");
//use the ajax call instead of setTimeout
setTimeout(function() {
//Remove the loader inside success/complete function
alert("remove loader")
}, 2000);
}
});