我正在构建一个错误跟踪工具。
创建项目时,您可以使用以下选择表单更改项目页面上的项目状态(打开,进行中和已完成):
<form action="classes/projectStatus.class.php" method="post">
<label> Change Project Status </label>
<select name="status" id="status">
<option value="Open">Open</option>
<option value="In Progress">In Progress</option>
<option value="Finished">Finished</option>
</select>
<input type='hidden' name='hdnID' value="<?php echo $id;?>">
<input class="small button" value="Change Status" type="submit">
</form>
这是projectStatus.class.php文件:
$status = $_POST['status'];
$id = $_POST['hdnID'];
$sql="UPDATE projects SET status = '$status'";
$result = mysql_query($sql);
$result = mysql_real_escape_string($sql);
if($result){
header('Location: ../projectpage.php?id='.$id);
} else {
echo "There is something wrong. Try again later."; }
mysql_close();
如何使用AJAX执行此操作? 有人可以给我一些正确的代码吗?!
我知道表单不是sql注入证明,我不使用mysqli,我会改变这个,但首先我想得到答案:)。
谢谢!
答案 0 :(得分:0)
我会使用jquery,这将解决许多兼容性问题。
jquery网站上有示例代码:http://api.jquery.com/jQuery.post/
答案 1 :(得分:0)
您将要使用jQuery的$.post()
函数。您应该查看文档here以获取大量示例。所以你能做的就是改变
<form action="classes/projectStatus.class.php" method="post">
到
<form onsubmit="return submit();">
然后将提交定义为
function submit()
{
$.post('classes/projectStatus.class.php', {
"status": $('#status').val(),
"hdnID": $('#hdnID').val()
}, function(response) {
//your callback function
});
return false;
}
此代码未经测试,可能无效,但它只是为了让您了解要执行的操作。如果这有意义或者您有任何疑问,请告诉我们。)