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

标签 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 变量

最佳答案

您的代码在我的服务器上运行良好。也许您并不完全清楚超全局变量的功能。

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

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

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

-本

关于javascript - 在同一页面上提交表单而无需重新加载并使用 POST 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40743809/

相关文章:

javascript - 使用 Mocha 测试异步 waterfall 似乎停滞不前

php - 试图从命名空间 "App\Controller"调用函数

php - 在多数组上使用 array_chunk

javascript - 带有加号的加号/减号计数器(jquery)

jquery - 第二个 Action 在点击时不起作用

javascript - IE onbeforeunload 不触发 ExternalInterface 回调

javascript - 用于删除文本输入字段中的默认值的 onclick 事件

javascript - phantomjs 中的动态代理

php - 在单个查询中对多个字段进行过滤查询

javascript - 改变每一个 n 元素的颜色