永发信息网

js和php在同一个文件中相互获取值的问题

答案:3  悬赏:70  手机版
解决时间 2021-10-18 02:32
  • 提问者网友:记得曾经
  • 2021-10-17 18:32
文件名是index.php<br>&lt;script&gt;<br>var linka;<br>linka=window.location.href;<br>&lt;/script&gt;<br>&lt;?php<br>$ch[0]=&quot;&lt;script&gt;document.write(linka);&lt;/script&gt;&quot;;<br>echo $ch[0].&quot;&lt;br /&gt;&quot;;<br>&lt;script&gt;<br>到这步为止,php获得js的变量非常顺利<br>下面接着<br>&lt;script&gt;<br>var k;<br>k=&quot;&lt;?php echo $ch[0];?&gt;&quot;;<br>alert(k);<br>&lt;/script&gt;<br>为什么输出是&quot;alert(k);&quot;,而不是k的值?求解释
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-03-03 16:45
你好php是服务端脚本语言,js是浏览器端脚本语言,除非使用ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。<br>另:<br>你的代码分析如下:<br>&lt;script&gt;<br><br>var linka;<br><br>linka=window.location.href;<br><br>&lt;/script&gt;<br><br>&lt;?php<br><br>$ch[0]=&quot;&lt;script&gt;document.write(linka);&lt;/script&gt;&quot;;<br><br>echo $ch[0].&quot;&lt;br /&gt;&quot;;<br><br>&lt;script&gt;<br><br>到这步为止,php获得js的变量非常顺利<br><br>下面接着<br><br>&lt;script&gt;<br><br>var k;<br><br>k=&quot;&lt;?php echo $ch[0];?&gt;&quot;;<br><br>alert(k);<br><br>&lt;/script&gt;其实你的整个页面都是php的,执行<br><br>$ch[0]=&quot;&lt;script&gt;document.write(linka);&lt;/script&gt;&quot;;这一句的时候,php的$ch[0]仅仅只是被赋予了&quot;&lt;script&gt;document.write(linka);&lt;/script&gt;&quot;这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
全部回答
  • 1楼网友:夜余生
  • 2020-10-05 10:26
首先要明白,javascript和php是2门不同的程序语言,他们运行的环境截然不同 javascript的环境是浏览器,php的环境是服务器 二者是不能直接进行数据交换的,但是我们可以架设一个桥梁来实现,这里先给几个方法,希望能达到抛砖引玉的效果 1. 最常用的大概要属ajax了,这里js向php发送的,和php向js回应的都是字符串类型的数据,这些字符串可以根据需要被转换成不同类型(对象,数字,bool值)。 2. 把php输入到html中,js通过dom节点来访问和修改这些值,至于php如何接收这些值,不是直接丢到form里,get或post过去就结束了么? 3. 极端情况的话,也可以直接把php的值输出到js代码里。 例如 var a = '<?php echo $v;?>'; php照样通过一个表单提交来获取他们。
  • 2楼网友:迷人又混蛋
  • 2019-07-12 07:14
你这个浏览器中显示的值是因为<script>document.write(linka);</script>这句话显示的并不是php获取到了js变量中的值。如果你一定要用的话,就在js中写location.href="location.href?a="+linka; 在PHP中写$ch[0] =$_GET["a"];就可以获得了 对了linka里你要用截取字符串的函数把前半部分截掉,这点你自己试试。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯