2017-08-10 4 views
1

Jqueryフォームの送信に奇妙なstufがあります。Jquery Ajaxのアップロードが進行中のページが読み込まれています

アップロードが完了した後、サーバーの処理が完了していなくてもページがリロードされています。

サーバーはjson succesステータスを返すだけなので、サーバー側ではありません。

ここで「Sコード:

$form.on('submit', function (e) { 

     console.log('Submit form ' + fileNumber); 
     if ($form.hasClass('is-uploading')) return false; 

     $form.addClass('is-uploading').removeClass('is-error'); 

     if (isAdvancedUpload) { 
      e.preventDefault(); 
      e.stopPropagation(); 
      var ajaxData = new FormData($form.get(0)); 

      var $input = $form.find('input[type="file"]'); 


      if (fileToUpload) { ajaxData.append($input.attr('name'), fileToUpload); } 
      console.log('FileTo Upload: ' + fileToUpload); 

      $.ajax({ 
       url: $form.attr('action'), 
       type: $form.attr('method'), 
       data: ajaxData, 
       dataType: 'json', 
       xhr: function() { 
        var myXhr = $.ajaxSettings.xhr(); 
        if (myXhr.upload) { 
         myXhr.upload.addEventListener('progress', progress, false); 
        } 
        return myXhr; 
       }, 
       cache: false, 
       contentType: false, 
       processData: false, 
       beforeSend: function (xhr,settings) { 

       }, 
       complete: function (xhr, status) { 
        xhr. 
        //$form.removeClass('is-uploading'); 
        //fileNumber++; 
        //fileToUpload = droppedFiles[fileNumber]; 
        //if (fileToUpload) { $form.submit(); } 
       }, 
       success: function (data,status,xhr) { 
        //$form.addClass(data.success === true ? 'is-success' : 'is-error'); 
        //if (!data.success) $errorMsg.text(data.error); 
       }, 
       error: function (xhr,status,error) { 
       } 
      }); 

     } else { 
      // ajax for legacy browsers 
     } 
    }); 

問題はここにある:

xhr: function() { 
        var myXhr = $.ajaxSettings.xhr(); 
        if (myXhr.upload) { 
         myXhr.upload.addEventListener('progress', progress, false); 
        } 
        return myXhr; 

私はリターンを削除した場合myXhrページでは、アップロード後にリロードされていませんが、私は何の進捗報告書を持っていない

リロードを防止するために何をすべきかわかりません。

ありがとうございます。

答えて

1

私は、問題を見つけました。

xhrオブジェクトで心配はありませんでした。

問題はVisual Studio Browser Linkから発生していました。

それを解散した後、すべてが完全に機能しました。

ブラウザリンク。明らかな理由から、ページのリロードが発生しました。

ASP.NETコアチームに表示されます

0

トライ変更buttinタイプはボタンに提出し、

例えばクリック機能を実装します。

$("#buttonID").click(function() { 
    //your code 
}); 
+0

フォームはボタンクリックで送信されません。 – Julien

関連する問題