ちょっと私は2つの送信ボタンと簡単なテキスト入力のフォームを持っています。私はフォームをajaxによって提出したい(私はそれを行う方法を考え出した)。AJAXで2つのボタンが提出されました
形式:
<form method='post' action='likesystem.php' id='7'>
<input class='form-control' type='hidden' value='7' name='postid'>
<button type='submit' class='btn btn-success btn-sm' name='poslike' value='liking'>Like this</button>
<button type='submit' class='btn btn-danger btn-sm' name='poslike' value='disliking'>Dislike this</button>
次のようにスクリプトは次のとおりです。
<script>
$('#7').on('submit', function(event) {
event.preventDefault();
$.ajax({
url: 'likesystem.php',
type: 'POST',
data: $('#7').serialize(),
});
});
</script>
PHPページ:
<?php
require_once 'config.php';
$link = mysqli_connect($DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_NAME);
if(! $link) {
die('Could not connect: ' . mysql_error());
echo "Connection Error";
}
if($_SERVER["REQUEST_METHOD"] == "POST") {
$postid = $_POST['postid'];
switch($_POST['poslike']) {
case 'liking':
$sql = "UPDATE posts SET poslike = poslike + 1 WHERE id = $postid";
case 'disliking':
$sql = "UPDATE posts SET dislike = dislike + 1 WHERE id = $postid";
}
if (mysqli_query($link, $sql)) {
echo "You did something";
} else {
echo "There was an error";
}
mysqli_close($link);
}
何I私はここで間違っている?私は複数のサイトをチェックしましたが、そこの答えが助けになるかもしれないので、今ここでそれを求めています。
あなたが得たものを対、何を期待していましたか? – cHao
'succes/error'コールバック(または' done()/ fail() ')を使ってAjaxイベントを引き起こすべきです、あなたの' switch'が間違っています、 '$ _SERVER [" REQUEST_METHOD "]'は役に立たない.....読み込みチュートリアルと再試行それは非常に乱雑なので今すぐ – pirs
@ cHao私はデータベースが変更すると予想したが、それは起こらなかった。 –