ajax async:false,阻止动画gif加载图像

时间:2013-06-19 09:22:41

标签: jquery ajax

我在.Net网络应用程序中工作。

我同步完成了几个ajax调用(async:false),因为我需要在本地变量中获取ajax结果的值。

但如果我在进入ajax时加载可见,它在firefox中工作正常,Chrome和IE不支持。

请帮助我,为此做任何工作???

function findtempvalues(tempparam) {
                var tempnamevalues = new Array();
                $.ajax({
                    type: "POST",
                    url: "Services/Locale.asmx/templatename",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify({ tempwidpath: tempparam }),
                    dataType: "json",
                    async: false,
                    success: function (result) {
                        tempnamevalues = result.d;
                    },
                    error: function () {
                        alert("error");
                    },
                    timeout: 3000
                });
                return tempnamevalues;
            }

2 个答案:

答案 0 :(得分:0)

异步调用和.done(function(data){ //handle data... })检索数据。

答案 1 :(得分:0)

进行异步调用并显示加载消息

function findtempvalues(tempparam)
{
    $('#loadingMessage').css('visibility', 'visible');

    $.ajax({
        type: "POST",
        url: "Services/Locale.asmx/templatename",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify({ tempwidpath: tempparam }),
        dataType: "json",
        async: true,
        success: function (result) {
            callback(result)
        },
        error: function () {
            alert("error");
        },
        complete: function () {
            $('#loadingMessage').css("visibility", "hidden");
        },
        timeout: 3000
    });
}

function callback(result)
{
    var tempnamevalues = new Array();
    tempnamevalues = result.d

    // continue ...
}

在回调函数中获取结果,不要进行“返回”

在你的HTML中,你有类似的东西:

<span id="loadingMessage" style="visibility: hidden;">Loading ...</span>