0

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

我同步完成了几个 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;
            }
4

2 回答 2

0

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

于 2013-06-19T09:24:23.310 回答
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>
于 2013-06-19T09:52:30.873 回答