シンプルなバグ追跡ツールを構築しています。AJAXを追加したい。
プロジェクトを作成したら、バグを追加し、このバグにステータス (未解決または解決済み) を与えることができます。ボタンとAJAXを使用してこのステータスを変更したい。
このフォームからステータスを変更できます。
<form action="ajax/bugStatus.class.php" method="post">
<label> Change Bug Status </label>
<select name="status" id="status">
<option value="Unsolved">Unsolved</option>
<option value="Solved">Solved</option>
</select>
<input type='hidden' name='bugID'
value="
<?php
$row = mysqli_fetch_array($bugres);
echo $row['id'];
?>
">
<input type='hidden' name='bugID' value="<?php echo $id;?>">
<input name="btnChange" id="btnChange" class="small button" value="Change Status" type="submit">
</form>
これは bugStatus.class.php ファイルです。
$status = $_POST['status'];
$bugID = $_POST['bugID'];
$sql=" UPDATE bugs SET status = '$status' where id = $bugID ";
$result = mysql_query($sql);
$result = mysql_real_escape_string($sql);
if($result){
header('Location: ../bugpage.php?id='.$bugID);
} else {
echo "There is something wrong. Try again later."; }
mysql_close();
これは、AJAX が実装されている app.Change.js ファイルです。
$("#btnChange").on("click",function(e){
var update = $("#post").val();
// AJAX CALL naar ajax/save_tweet.php
var request = $.ajax({
url: "ajax/bugStatus.class.php",
type: "POST",
data: {update : update},
dataType: "json"
});
request.done(function(msg) {
if(msg.status = "sucess")
{
// OK
var select = update;
}
else
{
// NOT OK
}
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
e.preventDefault();
});
うまくいかないのに何が悪いの?