gpt4 book ai didi

php - 在选择表单中使用 AJAX

转载 作者:行者123 更新时间:2023-11-30 01:22:57 26 4
gpt4 key购买 nike

我正在构建一个简单的错误跟踪工具。我想添加 AJAX。

当你创建了一个项目后,你可以添加一个bug,你可以给这个bug一个状态(未解决或已解决)。我想通过按钮并使用 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();


});

我做错了什么,因为我不工作?

最佳答案

首先,没有 id=post 的元素,因此 var update = $("#post").val(); 将为空。相反,您可能想要发送序列化表单 $("form").serialize()

其次,您不会在 Ajax 处理程序中返回 JSON,而是返回纯文本 - 因此,删除 dataType: json (要么使用 JSON_encode 来回显有效的 JSON)。

var request = $.ajax({
url: "ajax/bugStatus.class.php",
type: "POST",
data: $("form").serialize(), // status=Unsolved&bugID=123
});

第三,您的表单中有一个错误,您有一个重复的 bugID 输入(但不确定这是否会破坏它)。

第四,成功后您实际上并没有向 Ajax 请求返回任何内容?看起来您正在期待“成功”,在这种情况下您希望:

if($result){
echo "success";
}

关于php - 在选择表单中使用 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com