2017-09-25 6 views
-1

4行目はフォーム要素を示しますが、5行目は何も与えません。私は何をすべきか?formData()はデータを追加した後にデータを与えません

$('#btnSave').click(function() { 
       var form = $("#myForm"); 
       var formData = new FormData($(form)[0]); 
       console.log(form);//this gives form elements 
       console.log(formData);// but this gives nothing 
       var url = '<?php echo base_url() ?>' + 'product/add'; 
        $.ajax({ 
         type    : 'post', 
         url     : url, 
         processData: false, 
         contentType: false, 
         data: formData, 
         success: function (response) { 
          if (response){ 
           $('#myModal').modal('hide'); 
           $('#myForm')[0].reset(); 
           $('.alert-success').html('Record Added').fadeIn().delay(4000).fadeOut('slow'); 

          } else { 
           alert('Error'); 
          } 
         }, 
         error: function() { 
          alert('could not add data'); 
         } 
        });      
       }); 
      }); 

// formDataオブジェクトには何も追加されません。どのような解決してください?

答えて

0

以下のコードを試して、ajaxコードを少し変更してください。コードに以下のパラメータを追加します。

PROCESSDATA:偽、
のcontentType:偽、

とAJAXが始まる前にvar formData = new FormData($("#formID")[0]);行を追加します。

または下記のコードを確認し、コードに従って変更してください。あなたのコードで

$('#btnSave').click(function (event) { 
     var form = $("#myForm"); 
     var formData = new FormData($(form)[0]);;   
     var url = '<?php echo base_url() ?>' + 'product/add'; 
     if($('#picture').val()==''){ 
      alert("please select the file"); 
     } else{ 
      $.ajax({ 
       type: 'ajax', 
       data: formData, 
       url: url, 
       method: 'POST', 
       processData: false, 
       contentType: false, 
       success: function (response) { 
        if (response) { 
         $('#myModal').modal('hide'); 
         $('#myForm')[0].reset(); 
         $('.alert-success').html('Record Added').fadeIn().delay(4000).fadeOut('slow'); 
         setTimeout(function() {// wait for 5 secs(2) 
          location.reload(); // then reload the page.(3) 
         }, 1); 
        } else { 
         alert('Error'); 
        } 
       }, 
       error: function() { 
        alert('could not add data'); 
       } 

      }); 
     } 
    }); 
}); 
+0

ありがとう@pankajしかし、私はまだその問題があります。 plz –

+0

あなたは私のコードを正しくチェックしましたか? –

+0

私のコードで追加したものをそのまま残しておき、それに応じてコードを追加してください。 –

0

つ以上のミスがあり、ここで私はアヤックスに

  var form=document.getElementById('form_id'); 
      var fdata=new FormData(form); 
      $.ajax({ 
       type: "POST", 
       url: 'Your_url', 
       dataType: 'json', 
       data:fdata, 
       processData: false, 
       contentType: false, 
       beforeSend: function() { 

       }, 
       success: function (data) { 

        //Do something on response 
       }, 
       complete: function() { 

       } 
      }); 

を使用していたコードを持ってここにあなたの間違いは、あなたが原因書くための正しい方法ではありませんtype: "ajax"を使用しているあります

コードの2番目の間違いは、コードの3行目にセミコロン(;)を2つ書き込んだので、JavaScriptが機能しないという理由があります。

私はこれがうまくいくと思います。

関連する問題