私はAJAXを初めて使用し、名前とファイルをphpファイルにアップロードしてデータを処理し、mysqliを使用して挿入するためにデータベースに送信するフォームの実装に取り組んでいます。私はphpファイルをテストしましたが、動作します。私の問題はAJAXコードにあります。XMLHTTPとjQueryを使用した実装を試しました。どちらもページを離れ、ブラウザでPHPファイルを開きます。不平を言う人として、私はこの質問を別のコーディングサイトに投稿し、2人のポスターの間で争いが起こったので、生産的な提案で合理的で落ち着いた応答を得るためにここで努力しています。
現在、「get」は「post」ではなくPHPファイルに送信されていることを認識していますが、PHPStormは、「post」はその形式では使用できないと言っています。私の選択肢は何ですか?私は正しい方向に進んでいますか、それとも私が進むべき別の方向性がありますか?フォームのみを更新し、PHPページが読み込まれないようにするにはどうすればよいですか?
これが私のコードの関連するスニペットです、
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
<script src="jquery.validate.js"></script>
<script>
$(document).ready(function() {
$('#addForm').validate({
submitHandler: function (form) {
$('input[name="usingAJAX"]', this).val('true');
var url = $(form).prop('action');
var dataToSend = $(form).serialize();
var callback = function(dataReceived) {
$(form).hide();
//result message
$('body').append(dataReceived)
};
var typeOfDataToReceive = 'html';
$.get(url, dataToSend, callback, typeOfDataToReceive),
return false;
}
});
});
</script>
</head>
<body>
<form id="addForm" action="addInfo.php" enctype="multipart/form-data">
<input type="hidden" name="usingAJAX" value="false"/>
<label for="aname">Name: </label>
<input type="text" name="aname" id="aname" class=required/>
<label for="aimage">Photo: </label>
<input id="aimage" type="file" name="aimage" class="required">
<input type="submit" value="ADD"/>
</form>
</body>
</html>