AJAX呼叫远程页面和会话

时间:2013-02-16 07:10:26

标签: php javascript jquery html ajax

我再次搞乱AJAX并且在将数据传递给PHP时遇到了麻烦。

上下文

我希望做的是使用AJAX制作警报框,而不是每次关闭警报框时刷新整个页面。

守则:

JavaScript:

  var endpoint = './ajax-call.php';

  $('.close').click(function(){
    $(this).parent().fadeOut(500, function(){
      var classes = $(this).attr("class").split(" ");
      var alertid = classes[classes.length - 1];

      $.ajax({
        type: 'POST',
        url: endpoint,
        data: {f: 'removealert', id: alertid},
        cache: false
      });
    });
  });

PHP:

  function removeAlert($alertindex){
    unset($_SESSION['alerts'][$alertindex]);
  }

中间件(也是PHP):

  if($_POST['f'] == 'removealert'){
    removeAlert(intval($_POST['id']));
  }

我知道Google Chrome控制台正在发送AJAX数据。我也知道PHP函数removeAlert($ alertid)也有效,因为我测试了它。但是,PHP函数不起作用,所以我认为它与中间件代码有关。

我已经在这里工作了好几个小时,似乎无法看到错误。提前致谢。如果您需要更多信息,请告诉我们。

1 个答案:

答案 0 :(得分:0)

我想出了自己的答案。似乎因为AJAX调用在技术上转到另一个页面,我正在使用会话。我需要在AJAX页面的顶部放置一个会话开始,因此它被视为同一会话的一部分。

session_start();