我需要从表单中获取 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/