在同一页面上提交表单而不重新加载并使用POST变量

时间:2016-11-22 13:58:30

标签: javascript php jquery html forms

我需要从表单中获取post变量的值并将其转换为PHP变量,以便在不重新加载的情况下在同一页面上使用它

其实我得到了这个:

$(function() {
$("#submit_post").click(function() {
  var select = $("select").val();
  $.post("process.php",{select:select},function(result){
    $('#result').append(result);
  });
});
})

<form method="post">
<select name="select" id="select">
    <option value="1">Test</option>
</select>
<input type="submit" id="submit_post" value="Envoyer" onclick="return false;"/>
</form>

<div id="result"></div>

当我这样做时:

  <?php var_dump($_POST["select"]); ?>

我得到了:null

但是在div结果我得到了:1

...

我需要把这个“1”变成一个php变量

1 个答案:

答案 0 :(得分:1)

您的代码在我的服务器上正常运行。也许你并不完全清楚超级球的功能。

如果按下按钮后“result”div包含“1”,则表示process.php正确接收您的POST请求并回显$ _POST [“select”]的值。如果您尝试将浏览器导航到process.php,则会得到“NULL”,因为当您这样做时,您正在创建一个不包含任何POST变量的单独请求。除非使用$ _SESSION,DB或某种text / json / xml存储系统创建该功能,否则超全局数组不会在对process.php的不同调用之间保持不变。您对PHP的以下更改将允许您单击按钮,然后单独导航到process.php并查看您的数据:

<?php
session_start();
if ($_POST["select"]) {
    $_SESSION["data"] = ($_POST["select"]);
}
var_dump($_SESSION);
?>

如果我做了错误的假设,请纠正我,这没有用。

-Ben