所以我有这个代码:
<?php define('load', 'loaded'); ?>
<body>
<a href="" id="load">Load</a>
</body>
这是我的脚本:
<script>
$(document).ready(function(){
$('#load').on('click', function(e){
e.preventDefault();
$('body').load('joke.php');
})
})
</script>
我的joke.php包含:
<?php echo load; ?>
我想知道加载的文件是否可以读取先生以前的脚本。请帮助
答案 0 :(得分:0)
因此,如果单击加载,则joke.php将被加载到正文中。 joke.php包含echo $ load,但是,在文件加载后,即使我将它放在正文上方或html
之前,它也无法识别$ load变量。
您必须将值从客户端传递回服务器。
<script>
$(document).ready(function(){
$('#load').on('click', function(e){
e.preventDefault();
$('body').load('joke.php?load=<php echo $load; ?>');
})
})
</script>
基本上,您的URL看起来像joke.php?load=loaded
,
然后在您的joke.php
中,您可以使用$_GET['load']
,也可以使用echo $_GET['load']
来检索它。
或者,您可以使用POST,但不能使用load来完成。为此,您必须使用$.ajax
或$.post
。
您无法像以前那样访问它,因为客户端和服务器是2个独立的实体。
我建议阅读有关客户端和服务器之间的区别以及什么是客户端或服务器端语言。我会提供一个解释,但这超出了此答案的范围,并且互联网上有许多资料来源可以做得更好,然后我可以采用这种格式(堆栈溢出)进行解释。
我能做的最好的事情就是考虑将URL正确放置在浏览器中(测试它是完全可以接受的)。现在,它在浏览器URL栏中,该值(用于加载)从何而来。它必须来自某个地方,本质上这就是您使用load()
所做的事情。您正在从客户端向服务器发出单独的请求。
唯一的其他方法是将数据存储在某种持久数据存储中,例如文件,DB,会话等。