Php 使用jquery和ajax在不刷新页面的情况下处理表单
我有一个表格,我想提交而不刷新整个页面。 我已经找到了一个现成的源代码,并在我的页面上实现了它,但它拒绝工作 这是我需要提交的html表单:Php 使用jquery和ajax在不刷新页面的情况下处理表单,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我有一个表格,我想提交而不刷新整个页面。 我已经找到了一个现成的源代码,并在我的页面上实现了它,但它拒绝工作 这是我需要提交的html表单: <form method="POST" action="" name="actionForm" id="actionForm" class="actionForm"> <input type="hidden" name="adID" value="'.$row['adID'].'" />
<form method="POST" action="" name="actionForm" id="actionForm" class="actionForm">
<input type="hidden" name="adID" value="'.$row['adID'].'" />
<input type="hidden" name="adStatus" value="'.$row['adStatus'].'" />
<input type="submit" name="editAd" value="ערוך מודעה" class="actionButtons" />
<input type="submit" name="upgradeAd" value="הקפץ מודעה" class="actionButtons" />
<input type="submit" name="changeAdStatus" class="actionButtons" value="';
if ($row['adStatus'] == "disabled")
echo 'הצג מודעה בלוח" />';
else
echo 'הסתר מודעה מהלוח" />';
echo '
<input type="submit" name="deleteAd" value="מחק מודעה" class="deleteButton" />
</form>
';
其他的
回音“הסרמהעהמהלחח”/>;
回声'
下面是转发到处理php文件并在当前页面上写入一些结果的脚本:
<script>
$(document).ready(function(){
$("#actionForm").validate({
debug: false,
rules: {
submitHandler: function(form) {
$.post('/tests/process.php', $("#actionForm").serialize(), function(data) {
$('#resDiv').html(data);
});
}
}});
});
</script>
$(文档).ready(函数(){
$(“#actionForm”)。验证({
调试:错误,
规则:{
submitHandler:函数(表单){
$.post('/tests/process.php',$(“#actionForm”).serialize(),函数(数据){
$('#resDiv').html(数据);
});
}
}});
});
处理php只将数据写入数据库并打印确认消息。
以下是它的链接:
我已经检查了每一行代码,但仍然无法理解为什么我没有看到来自处理php的消息
有什么想法吗
提前感谢您的帮助
这里是初始php的完整代码:我认为代码末尾的javascript片段是错误的。提交处理程序不能在规则:{}块中 请尝试以下操作:
<script>
$(document).ready(function() {
$("#actionForm").validate({
debug: false,
submitHandler: function(form) {
$.post('/tests/process.php', $("#actionForm").serialize(), function(data) {
$('#resDiv').html(data);
});
}
});
});
</script>
$(文档).ready(函数(){
$(“#actionForm”)。验证({
调试:错误,
submitHandler:函数(表单){
$.post('/tests/process.php',$(“#actionForm”).serialize(),函数(数据){
$('#resDiv').html(数据);
});
}
});
});
使用浏览器中的开发人员控制台查看您在响应中得到了什么。还有一个适合jquery iframe post的类……请看这里,注意您不应该这样做:从ads中删除adID=$adID
,其中$adID
是一个post变量。这使您可以进行SQL注入。如果有人提出了POST请求使用anything或x=x
,你的数据库会突然消失。你应该像这样清理你的帖子输入:$adID=mysql\u real\u escape\u string($\u POST['adID']);
然后在中加上$adID左右的引号,其中adID='$adID'
谢谢,我只是还没有达到这个项目的安全部分:)