0

ユーザーがhtml5フロントエンドからデータを保存するときに、進行中の更新モジュールを作成しようとしています。次のコードがありますが、動作していないようです。私はパーセント完了値を取得しません。これが失敗する理由についてのアイデア。

Web サービスは c# asmx サービスです。

$.ajax({
    xhr: function()
    {
        if (window.ActiveXObject) {
            return new window.ActiveXObject("Microsoft.XMLHTTP");
        }
        else {
            var xhr = new window.XMLHttpRequest();
            xhr.upload.addEventListener("progress", function (evt) {
                if (evt.lengthComputable) {
                    var percentComplete = evt.loaded / evt.total;
                    //Do something with upload progress
                    console.log(percentComplete);
                    alert(percentComplete);
                }
            }, false);

            xhr.addEventListener("progress", function (evt) {
                if (evt.lengthComputable) {
                    var percentComplete = evt.loaded / evt.total;
                    console.log(percentComplete);
                    alert(percentComplete);
                }
            }, false);
            return xhr;
        }
    },
    type: "POST",
    url: "../service.asmx/SaveSession",
    cache: false,
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(DTO),
    dataType: "json",
    async:false,
    success: function (response) {
        result = response;
        IsDataDirty = false;
    },
});
4

1 に答える 1

1

以下のコードを使用してください:

   {
    xhr: function() {
      var xhr = $.ajaxSettings.xhr();
      if (xhr.upload) {
      xhr.upload.addEventListener('progress', function(e) {
         var percentage = event.loaded / event.total * 100;
              //.....
         }, false);
      }
       return xhr;
      });
    }
于 2013-08-02T23:22:52.940 に答える