私は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
ありがとうございます。
なぜに
から
変化であり、あなたは 'データ'が '成功'であると期待していますか?あなたと同じように動作することはできません。 'data'はあなたのPHPの' var_dump($ _ POST); 'の内容であり、' Success'ではありません。 – eisbehr
'processData:false'を削除すると、パラメータも正常に動作します。 – eisbehr
より正確な結果をチェックし、 'console.log(data)'をチェックするので、 '==='でチェックしようとしているので、データが成功したかどうかを確認してください。あなたのPHPファイルでは、戻り値を確認してください。あなたが必要な状態になった後に終了する、 – Jagadeesh