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

时间:2017-01-07 19:05:18

标签: visual-studio-lightswitch lightswitch-2013

这里的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调用返回。但是上面的代码不起作用,因为showProgress期望WinJS.Promise对象。

任何人都知道如何实现理想的行为?

此致,

1 个答案:

答案 0 :(得分:3)

试试这个:

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