2016-06-24 8 views
2


私はPHPファイルに投稿してデータを送信しようとしていますが、何らかの理由で投稿されていません。私はvar_dumpのPHPファイルからコンソールログに空の配列を受け取ります。ここでは、PHPファイルprocess.phpあるAjax投稿は何も返しません。

のindex.php

<button type="button" class="btn btn-warning" id="resetPassword">Reset Password</button> 

<script> 
    $(document).ready(function (e){ 
    $("#resetPassword").click(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
     url: "scripts/process.php", 
     type: "POST", 
     data: {name: 'test'}, 
     cache: false, 
     processData:false, 
     success: function(data) { 
      if (data === 'Success') { 
      new PNotify({ 
       title: 'Success!!!', 
       text: 'Request completed successfully.', 
       type: 'success', 
       styling: 'bootstrap3' 
      }); 
      $('#exampleModal').modal('hide'); 
      $('#datatable-buttons').DataTable().ajax.reload(); 
      } else { 
      console.log(data); 
      new PNotify({ 
       title: 'Error!!!', 
       text: data, 
       type: 'error', 
       styling: 'bootstrap3' 
      }); 
      //document.getElementById("status").className += " alert-danger"; 
      //$("#status").html(data); 
      } 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      alert("ERROR:" + xhr.responseText+" - "+thrownError); 
     } 
     }); 
    }); 
    }); 
</script> 

:ここ
は、私は、これらのファイルを持っているコードです。

var_dump($_POST); 

にconsole.logでの結果:

array(0) {} 

ソリューション:

processData: false

を削除します

ありがとうございます。

+0

なぜに

data: {name: 'test'}, 

から

変化であり、あなたは 'データ'が '成功'であると期待していますか?あなたと同じように動作することはできません。 'data'はあなたのPHPの' var_dump($ _ POST); 'の内容であり、' Success'ではありません。 – eisbehr

+0

'processData:false'を削除すると、パラメータも正常に動作します。 – eisbehr

+0

より正確な結果をチェックし、 'console.log(data)'をチェックするので、 '==='でチェックしようとしているので、データが成功したかどうかを確認してください。あなたのPHPファイルでは、戻り値を確認してください。あなたが必要な状態になった後に終了する、 – Jagadeesh

答えて

2

processData:false、sectionを削除してから、もう一度やり直してください。

0

process.php内のデータを戻しながら、使用している何

processData:false, 
0

を削除する前に、または

e.preventDefault(); 

var formData = $("#yourform_id").serializeArray(); //form data 

後、この を試してみて、この行を使用してデータを交換する

data: formData, 

件のデータファイル?エコーかリターンですか?

ECHOを試してください。動作しない場合はRETURN文を試してください。あなたのコードの残りの部分はOKと思われます。

デバッグするには、scripts/process.phpでprint_r()を使用し、ブラウザのコンソールでout putをチェックします。また、あなたはprocessData:falseによりしようとすると、変数のデータ

0

をチェックするためのjavascriptのはtoSourceを使用することができ、その必要性データは、生の文字列

data: "name=test", 
関連する問題