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

Javascript: Preventing browser from freezing while calling server

本文关键字:浏览器 冻结 服务器 调用 Javascript      更新时间:2023-11-14

在调用服务器之前,我使用jquery显示进度指示器。呼叫返回后,我隐藏进度指示器。我注意到的问题是,进度指示器永远不会显示,浏览器窗口也会冻结,直到对客户端的调用返回。我该如何防止这种情况发生。我希望进度指示器在执行呼叫时显示动画。

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

// 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
);

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

查看:

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

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