使用session通过ajax调用将变量从HTML文件中的jQuery传递到php文件

时间:2014-01-27 12:36:54

标签: php jquery ajax session

我正在尝试将变量从jQuery传递到PHP文件,我很难做到这一点。

这是一个简单的“send.html”HTML文件。

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
  $(document).ready(function(){
    $("button").click(function(){
      $.ajax({
        type: 'post',
        url: 'receive.php',
        data: {message : "Hello World!"}
      })
      .done(function(data) {
          alert(data);
      });
    });
  });
</script>
</head>
<body>
  <button>Click here</button>
</body>
</html>

我有一个“receive.php”的PHP文件。

<?php
  session_start();

  if(isset($_POST['message'])){
    $_SESSION['message'] = $_POST['message'];
    echo $_SESSION['message'].'<br />';
  } else {
    echo "message not set";
  }
?>

当我点击send.html上的按钮时,我收到正确的警告“Hello World!”。但是当我通过在我的webbrowser上输入URL来访问“receive.php”时,我收到消息说:

message not set

如果我想得到“Hello World!”来自receive.php,我该怎么办? 任何人都有解决这个问题的方法吗?

感谢。

1 个答案:

答案 0 :(得分:5)

你的receive.php应该是

<?php
  session_start();

  if(isset($_POST['message'])){
    $_SESSION['message'] = $_POST['message'];
    echo $_SESSION['message'].'<br />';
  }else if(isset($_SESSION['message'])){
     echo $_SESSION['message'].'<br />';
  }else{
     echo "message not set";
  }
?>