【问题标题】:jQuery $.ajax succeed but serv doesn't receive any datajQuery $.ajax 成功但 serv 没有收到任何数据
【发布时间】:2014-12-30 19:35:17
【问题描述】:

我在一个不会重新加载整个页面而只是刷新内容的分页系统上工作。 我使用 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']);
    }    

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

【问题讨论】:

  • 仅供参考 $_POST['page'] 是一个字符串
  • 你在浏览器的控制台观察过AJAX调用的请求/响应吗?您的成功函数不返回任何内容。 load() 函数是 jQuery 中不同的 AJAX 快捷方式,如果你使用它,你真的不需要你编写的 AJAX 的其余部分。
  • @Musa 没关系,假设您在谈论比较运算符。
  • 是的,Jay,console.log() 我之前做了一些修改,发现 Ajax 转移成功了(正如我所说的,成功了)。但是我没有意识到 load() 是 Ajax 的快捷方法,再次感谢您的提示!

标签: javascript php jquery ajax load


【解决方案1】:

你的代码真的太多了,为了你的目的,在 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() 确实允许您通过第二个参数将数据发送到请求的页面。

【讨论】:

  • 确实我做的东西太复杂了,谢谢你的提示,不知道我们可以像这样用 load() 加入数据:)
猜你喜欢
  • 2015-11-06
  • 1970-01-01
  • 2014-09-08
  • 2016-06-03
  • 2021-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
  • 2016-07-28
相关资源
最近更新 更多