在 JavaScript 中,如何在 ajax 调用期间显示屏幕进度指示器

In JavaScript, how do I show screen progress indicator during an ajax call

JavaScript新手在此

我正在尝试做这样的事情:

msls.showProgress($.ajax({
        url: "/Web/DataImport.ashx",
        type: "POST",
        contentType: false,
        processData: false,
        data: file
    }).then(
    function success(result) {
        // Do something
    },function error(err) {
        // Do something else
    })));

基本上,我希望 LightSwitch 指示器一直显示到 ajax 调用 returns。但是上面的代码不起作用,因为 showProgress 需要一个 WinJS.Promise 对象。

有人知道如何实现所需的行为吗?

你的,

试试这个:

msls.showProgress(msls.promiseOperation(function (operation) {  
   $.ajax({
    url: "/Web/DataImport.ashx",
    type: "POST",
    contentType: false,
    processData: false,
    data: file
    }).then(
      function success(result) {
      msls.showMessageBox(result);
      },
       function error(err) {
    operation.error(err);
     }))  
})  
);