jQuery $.ajax 成功,但 serv 没有接收任何数据


jQuery $.ajax succeed but serv doesn't receive any data

我在一个分页系统上工作,该系统不会重新加载整个页面,而只是刷新内容。我检索具有 ID 中包含的值的请求页面,并希望将其发送到服务器以进行该过程。

已达到success,但我的 php 脚本无法识别$_POST['page']值。这是JS:

    $(document).ready(function()
{
    $('#containerWrapper').on('click', '.holder a', function (event) {
        var page = $(this).attr('id');
        var url = "cart.php";
        event.preventDefault();
        // Launch of the Ajax query to refresh the current page
        $.ajax({
            url: "cart.php",
            type: "POST",
            data: {page: page},
            success: function()
            {
                alert('Success, delivered page: ' + page);
                $('#containerWrapper').load(url + " #containerWrapper");
            }
        }); 
    });
});        

这里是PHP,我认为这不是真正的问题:

if (isset($_POST['page']) && ($_POST['page'])>0 && ($_POST['page'])<= $nbPages)
    {
        $cPage = htmlspecialchars($_POST['page']);
    }    

我已经准备好了很多主题,但目前还没有发现任何相对问题。

您确实有太多的代码,没有必要在 AJAX 调用中埋葬 load() 语句。你可以简单地这样做——

$(document).ready(function(){
    $('#containerWrapper').on('click', '.holder a', function (event) {
        event.preventDefault();
        var url = "cart.php";
        var page = $(this).attr('id');
        $('#containerWrapper').load(url + " #containerWrapper", {page: page});
    }); 
});

load()确实允许您通过第二个参数将数据发送到请求的页面。