私のデータベースへの情報掲載に問題があります。私はjavascriptでajax呼び出しを介してデータベースに投稿する他の情報を持っていますが、問題はありませんが、私のコードのこの部分で何が問題なのか分かりません。それはデータベースへの投稿を拒否します。私はそれを掲示し、誰かが私がデータベースにそれを作ることを禁止するであろう何かを見つけたかどうかを見たいと思っていました。面白いのは、ajaxコールが私のAjaxコールのために私の.done function(data)
の中に入っていますが、私のデータベースには何も入っていません。Ajaxフォームデータが.done(function(data))に到達しましたが、dbにデータが投稿されていません
は私が
$('#form-reg').on('submit', function(){
// serialize the form
var formData = $(this).serialize();
$.ajax({
type : 'POST',
url : 'register.php',
data : formData,
success: function(data){
console.log(data),
},
error: function(err){ console.log(err)
};
})
.done(function (data) {
console.log("lo");
document.getElementById('form-reg').reset(function(){
alert("signed up completed");
});
})
.fail(function (error) {
alert("POST failed");
});
return false;
});
/*mysqli_connect.php -- note this is just an old file name. not important*/
<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
/*register.php*/
<?php
require 'mysqli_connect.php';
if((isset($_POST['name']) && !empty($_POST['name']))||
(isset($_POST['email']) && !empty($_POST['email']))){
$sth = $dbh->prepare('INSERT INTO test_table (comment) VALUES(?,?);');
$name = $_POST['name'];
$email = $_POST['email'];
$sth->execute(Array($name, $email));
}
else{
echo 'error no comment entered';
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" type="text/javascript">
<div id = "register-container">
<form id = "form-reg">
<label id ="x" for="name">Name</label>
<input id="name-reg" name="name"></br>
<label id = "y" for="email">Email</label>
<input id="email-reg" name="email"></br>
<input type="submit" value="submit" id = "submit-reg">
</form>
</div>
関連性があると考えているすべてのコードを掲載しています。もし私が何かを忘れてしまったら、そのコードを自由に要求してください。
成功とエラーのコールバックをajaxオプションオブジェクトに追加する。このようにして、何が起こっているのか知ることができます。 –
あなたが見てみると、私の '.done'関数の中にコールバックがあり、コールバックはまだ動作していません。別のものを追加すればうまくいくかどうかは分かりません。それは別の問題です。私は自分の '.done'の中でそのコールバックを起動することは決してできませんでした。 – Jengo
$アヤックス({ タイプ: 'POST' URL: 'register.php' データ:FORMDATA、 成功:関数(データ){ にconsole.log(データ)、 }、 エラー:関数(err){ console.log(err)、 } } –