在JQUERY中读取$ _POST变量

时间:2013-11-22 16:35:15

标签: php jquery post

我想根据用户数据(姓氏)操作页面上的元素。我构建了一个表单,并使用post将输入数据更新到php页面。我的想法是将$ _POST值放入DOM:然后抓住JQuery:

表单页面:

<form action="display.php" method="post">
<input type="text" name="test" />
<input type="submit" value="go!!" />
</form>

Display.php的

<?php
//store post value in var
$var = $_POST['test'];
?>

(高于HTML)

<body>
<?php
echo '<form action="" method="">';
echo '<input type="hidden" class="grab" name="name1" value="' . $_POST['test'] . '">';
echo '</form>';
?>
<script type="text/javascript" src="js/script.js"></script>
</body>

(以html格式)

的script.js

var grab = $('input.grab').val();
document.write(grab);

我是一个PHP新手,并意识到我作为客户端开发人员解决了我所有的问题,而不是服务器端。我做错了什么吗?或者有更好的方式

1 个答案:

答案 0 :(得分:1)

没关系。由于JavaScript是一种客户端语言,因此这是一种完全可以接受的方法,可以让您访问仅供服务器使用的变量。

您还可以使用以下内容:

<script>
    var myVar = '<?php echo $_POST['var']; ?>';
    console.log(myVar);
</script>

要防止XSS并避免POST数据中的引号问题,您应使用htmlspecialchars清理输出:

<script>
    var myVar = '<?php echo htmlspecialchars($_POST['var'], ENT_QUOTES, 'utf-8'); ?>';
    console.log(myVar);
</script>

否则,$ _POST ['var'] = 'example将破坏您的JS并打开XSS漏洞。