2017-03-21 6 views
1
$(document).on('submit','#form_pem', function(event){ 
      event.preventDefault(); 
      var kodebayar = $('#kodebayar').val(); 
      var nama = $('#nama').val; 
      var harga = $('#harga').val; 
      var postData = new FormData(this); 

      if(kodebayar != '' && nama != '' && harga != ''){ 
       $.ajax({ 
        url:"<?=site_url('bpem/user_action')?>", 
        method:"POST", 
        data:postData, 
        contentType:false, 
        proccessData:false, 
        success: function(data) 
        { 
         alert(data); 
         $('#form_pem')[0].reset(); 
         $('#modalpem').modal('hide'); 
         dataTable.ajax.reload(); 
        } 

       }); 

      } 
      else{ 
       alert("Silahkan isikan semua data!"); 
      } 
     }); 

を実装していないオブジェクトに対して呼び出さ 'APPEND' これは私のJSはTypeError:インタフェースいるFormData

<div class="modal fade text-xs-left" id="modalpem" tabindex="-1" role="dialog" aria-labelledby="myModalLabel35" aria-hidden="true"> 
             <div class="modal-dialog modal-sm"> 
             <form method= "post" id="form_pem"> 
             <div class="modal-content"> 
              <div class="modal-header"> 
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
               <span aria-hidden="true">&times;</span> 
              </button> 
              <h3 class="modal-title text-xs-center">Tambah Biaya Pembayaran</h3> 
              </div> 
              <div class="modal-body"> 
               <fieldset class="form-group floating-label-form-group"> 
                <label for="Kode">Kode <span class="required">*</span></label> 
                <input type="text" class="form-control" name="kodebayar" id="kodebayar" placeholder="Kode Pembayaran"> 
               </fieldset> 
               <fieldset class="form-group floating-label-form-group"> 
                <label for="nama">Nama <span class="required">*</span></label> 
                <input type="text" class="form-control" name="nama" id="nama" placeholder="Nama Pembayaran"> 
               </fieldset> 
               <fieldset class="form-group floating-label-form-group"> 
                 <label for="projectinput7">Biaya Perbulan <span class="required">*</span></label> 
                 <div class="input-group"> 
                  <span class="input-group-addon">Rp.</span> 
                  <input type="number" class="form-control" placeholder="Biaya Perbulan" aria-label="Amount (to the nearest dollar)" name="harga" id="harga"> 
                  <span class="input-group-addon">.00</span> 
                 </div> 
               </fieldset> 
              </div> 
              <div class="modal-footer"> 
               <input type="reset" class="btn btn-grey" value="Bersihkan"> 
               <input type="submit" class="btn btn-warning" name="action" id="action" value="Tambah"> 
              </div> 
             </div> 
             </form> 
             </div> 

            </div> 

であり、これは図です。 しかし、私は

のようなエラーを受けました

TypeError:インタフェースFormDataを実装していないオブジェクトに対して 'append'が呼び出されました。

追加するものを忘れましたか?私は何をすべきか?ありがとうあなたの助け

答えて

2

は、タイプミスのための補正が必要:)

proccessData:false 

FormDataエラーを回避するには

processData: false 

あるべきajaxオプションが

$.ajax({ 
    url : "url", 
    type: "POST", 
    data : postData, 
    processData: false, 
    contentType: false, 
    success:function(data, textStatus, jqXHR){ 
     // 
    }, 
    error: function(jqXHR, textStatus, errorThrown){ 
     //if fails  
    } 
}); 
+0

のようでなければならないことを確認してくださいこのようなタイプミスはエラーを引き起こしません。 '$ .ajax'の設定パラメータの間違った名前のプロパティは単に無視されます。 – hindmost

+0

hehe。ありがとうございました:) – Fiona

+0

@hindmostはい、あなたは正しいです。それは無視されますが、 'FormData'の' processData'キーが必要です。だから私はそのエラーを避けるために指摘した。 –

関連する問題