我想要使用PHP可以访问的JavaScript变量的值.我使用下面的代码,但它不返回PHP中该变量的值.
// set global variable in javascript
profile_viewer_uid = 1;
Run Code Online (Sandbox Code Playgroud)
// php code
$profile_viewer_uid=$_POST['profile_viewer_uid'];
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误: -
A PHP Error was encountered
Severity: Notice
Message: Undefined index: profile_viewer_uid
Run Code Online (Sandbox Code Playgroud)
我使用的另一个PHP代码给出空值
$profile_viewer_uid = "<script language=javascript>document.write(profile_viewer_uid);</script>
Run Code Online (Sandbox Code Playgroud)
当我回声时它什么也没有显示.
Chr*_*ngs 17
您将需要使用JS将URL返回,其中包含一个变量,例如:http: //www.site.com/index.php?uid = 1
通过在JS中使用这样的东西:
window.location.href=”index.php?uid=1";
Run Code Online (Sandbox Code Playgroud)
然后在PHP代码中使用$ _GET:
$somevar = $_GET["uid"]; //puts the uid varialbe into $somevar
Run Code Online (Sandbox Code Playgroud)
Ars*_*sum 13
以下是工作示例:在同一页面上获取javascript变量值.
<script>
var p1 = "success";
</script>
<?php
echo "<script>document.writeln(p1);</script>";
?>
Run Code Online (Sandbox Code Playgroud)
hum*_*iam 10
添加一个包含您要访问的javascript变量的cookie.
document.cookie="profile_viewer_uid=1";
Run Code Online (Sandbox Code Playgroud)
然后通过php访问它
$profile_viewer_uid = $_COOKIE['profile_viewer_uid'];
Run Code Online (Sandbox Code Playgroud)
您可能想从学习Javascript和php开始.Javascript是一种客户端脚本语言,运行在连接到运行php的Web服务器的客户端机器的浏览器中.这些语言无法直接通信.
根据您的目标,您需要向服务器发出AJAX get或post请求,并返回您需要的json/xml/html /任何响应,并将结果注入站点的DOM结构中.我建议使用Jquery,BackboneJS或任何其他JS框架.有关示例,请参阅Jquery文档.
如果你必须将php数据传递给同一站点上的JS,你可以将数据作为JS回显,并使用json_encode()将你的php数据转换为JS.
<script type="text/javascript>
var foo = <?php echo json_encode($somePhpVar); ?>
</script>
Run Code Online (Sandbox Code Playgroud)
如果您想在 php 脚本中使用 js 变量,您必须在 HTTP 请求中传递它。
基本上有两种方式:
一个基本的例子可以是:
var profile_viewer_uid = 1;
$.ajax({
url: "serverScript.php",
method: "POST",
data: { "profile_viewer_uid": profile_viewer_uid }
})
Run Code Online (Sandbox Code Playgroud)
在serverScript.php文件中,您可以执行以下操作:
$profile_viewer_uid = $_POST['profile_viewer_uid'];
echo($profile_viewer_uid);
// prints 1
Run Code Online (Sandbox Code Playgroud)
注意:在这个例子中我使用了jQuery AJAX,它实现起来更快。你也可以用纯js来做。
| 归档时间: |
|
| 查看次数: |
229322 次 |
| 最近记录: |