Php 使用jquery和ajax在不刷新页面的情况下处理表单

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'].'" />

我有一个表格,我想提交而不刷新整个页面。 我已经找到了一个现成的源代码,并在我的页面上实现了它,但它拒绝工作

这是我需要提交的html表单:

<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'
谢谢,我只是还没有达到这个项目的安全部分:)