Javascript Ajax成功函数没有';我不能再工作了

Javascript Ajax成功函数没有';我不能再工作了,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我用AJAX制作了一个表单提交,第一次提交时,它具有成功功能,但是第二次它在accept\u friend.php中打印成功数据,而不是像普通的php表单那样在#requests\u容器中打印成功数据 $('.accept_friend').submit(function(){ var data = $(this).serialize(); $.ajax({ url: "../accept_friend.php", type: "POST",

我用
AJAX
制作了一个表单提交,第一次提交时,它具有成功功能,但是第二次它在
accept\u friend.php
中打印成功数据,而不是像普通的php表单那样在
#requests\u容器中打印成功数据

$('.accept_friend').submit(function(){
    var data = $(this).serialize();

    $.ajax({
        url: "../accept_friend.php",
        type: "POST",
        data: data,
        success: function( data )
        {   
            $('#requests_container').html(data);
        },
        error: function(){
            alert('ERROR');
        }
    });

    return false;
});
下面是accept_friend.php

<?php

session_start();

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require "classes/class.requests.php";
require "classes/db_config.php";

$current_user = $_POST['current_user'];
$friend_id = $_POST['friends_id'];

$requests = new Requests($DB_con);
if($_SERVER["REQUEST_METHOD"] == "POST"){
     $requests->accept($current_user, $friend_id);
}
?>

您似乎正在替换
$(“#请求_容器”)中的整个html
,我假设
.accept_friend
按钮也在同一容器中

如果是这种情况,请尝试将代码替换为

$('#requests_container').on('submit', '.accept_friend', function(){
    var data = $(this).serialize();

    $.ajax({
        url: "../accept_friend.php",
        type: "POST",
        data: data,
        success: function( data )
        {   
            $('#requests_container').html(data);
        },
        error: function(){
            alert('ERROR');
        }
    });

    return false;
});

这将使您的事件保持活动状态,即使在移除表单按钮并将其放回DOM之后也是如此

填空表单后,将submit事件重新绑定到Submiter函数

$('.accept_friend').submit(function submitter() {
    var data = $(this).serialize();

    $.ajax({
        url: "../accept_friend.php",
        type: "POST",
        data: data,
        success: function(data) {   
            $('#requests_container').html(data);
            setTimeout(function() { // may not be needed
                $('.accept_friend').submit(submitter); // rebind submit
            }, 0);
        },
        error: function(){
            alert('ERROR');
        }
    });

    return false;
});

一些html可能有助于怀疑mine@JaromandaX什么是可疑的
.accept\u friend
是被替换的html的一部分-即它在
\requests\u容器中
@JaromandaX如何修复它如果是这样的话,已经有一个答案可以修复它了