我有两个php页面:
第1页:
<form class="form-horizontal" role="form" method="post" action="Page2.php">
<button id="place-order" class="btn btn-lg btn-success">Place Order</button>
<div id="ajax-loader" style="display:none;"><img src="images/ajax-loader.gif" /></div>
</form>
<script>
var id = Math.random();
$(document).ready(function() {
$('#place-order').on('click', function() {
$(this).hide();
$('#ajax-loader').show();
});
});
</script>
在表单上,它重定向到Page2.php,我想从Page1传递Javascript变量“ id”以在Page2中接收它。 我曾尝试使用Cookie,但需要另一种方法。
我不了解从PHP到JS的过渡,反之亦然。感谢帮助。 预先感谢
答案 0 :(得分:1)
您可以使用会话存储或cookie。 会话存储示例:
// First web page:
sessionStorage.setItem("myVariable", "myValue");
// Second web page:
var favoriteMovie = sessionStorage.getItem('myVariable');
答案 1 :(得分:1)
亲爱的,您可以使用Ajax轻松完成此操作。 Ajax具有data属性,可帮助您将数据从javascript传递到另一个页面。
此链接将为您提供很多帮助 https://api.jquery.com/jquery.ajax/
答案 2 :(得分:1)
您可以使用查询字符串将值传递给下一页。
<form class="form-horizontal" role="form" method="post" action="Page2.php" id="order-form">
var id = Math.random();
$('#order-form').attr('action', 'Page2.php?id=' + id);
<? $id = $_GET['id'] ?>
我们现在可以在PHP的任何地方使用$id
,并且将使用从JS生成的ID。整洁吧?如果我们再次想要在JS中怎么办?只需添加另一个脚本标签并在其中回显即可!
<script type="text/javascript">
var id = <? echo $id ?>;
</script>
编辑:已更新,添加了一些有关它如何工作的信息,就像您说的那样,您不太确定PHP和JS之间的过渡。
PHP 在服务器上运行。它对浏览器了解不多,对JS也不了解。它会运行所有内容并完成显示网页之前的 。我们可以通过创建脚本标签和创建一个新的JavaScript变量,echo
将PHP值传递给JS,将PHP变量传递给JS。
JS (JavaScript)在浏览器中运行。它不知道服务器上发生的任何事情。它所知道的只是它正在其中运行的HTML文件(按CTRL + U查看原始HTML)。由于JS与PHP的运行时间完全不同,因此没有简单的方法来传输变量(例如$phpVar = myJSVar
)。因此,我们必须使用POST
或GET
之类的服务器方法。
我们可以通过2种主要方式创建GET
或POST
请求:
表单以我概述的方式工作,或者您可以创建一个隐藏字段,设置所需的值,然后进行检查。这涉及到重定向到另一个页面。
AJAX(异步Javascript和Xml)的工作原理略有不同,因为用户不必离开页面即可进行请求。我将留给您研究如何对其进行实际编程(jQuery有一个不错的简单API!),但它基本上是作为后台请求工作的-一个示例将显示一个加载微调器,同时从另一个页面加载订单详细信息
希望这会有所帮助,如果有不清楚的地方,请通知我!