Javascript:防止浏览器在调用服务器时冻结

时间:2012-07-19 06:58:48

标签: javascript progress-indicator

我使用jquery在调用服务器之前显示进度指示器。呼叫返回后,我隐藏进度指示器。我注意到的问题是进度指示器永远不会显示,浏览器窗口会冻结,直到对客户端的调用返回为止。我怎么能阻止这个。我想让进度指示器在进行呼叫时进行动画处理。

我使用$ .ajax方法来调用服务器。这是代码。请注意,我没有显示对$ .ajax的调用,因为它隐藏在调用调用中,但请确保它被调用。

// Show progess indicator while waiting.
var imgAjaxSaving = $("#imgAjaxSaving");
imgAjaxSaving.show();

// Call server
developerServiceProxy.invoke
("SaveAppSpec",
    { "appSpec": appSpec },
    function (result)
    {
      // Hide the progress indicator.
      imgAjaxSaving.hide();
    },
    AjaxError, false, false
);

1 个答案:

答案 0 :(得分:2)

您可以使用异步调用并使用回调函数来隐藏进度条。

看看:

http://api.jquery.com/jQuery.ajax/

另外,请确保选项中的async等于true(这是默认设置)。