如何使用相同的文件将变量从javascript传递给php
在此示例页面中保持刷新,我无法看到结果
只有在我分开脚本时它才有效...但我需要它在某种程度上像ajax ..
<SCRIPT language="JavaScript">
var carname="Volvo";
location.href="http://localhost/put.php?Result=" + carname;
</SCRIPT>
这是脚本的第二部分(它们都在同一个文件中)
<?php
Id = $_GET[Result];
echo $dbId;
?>
答案 0 :(得分:1)
所以你可以在PHP脚本中做这样的事情:
if (!isset($_GET['Result']))
{
// include the javascript portion with the redirect
}
我和其他人在一起 - 我没有看到页面加载中的值,然后立即重定向到同一页面。
答案 1 :(得分:1)
您要做的事情无法完成。您的脚本实时在客户端上运行,但php将在请求期间在服务器上运行。您需要发出AJAX请求。
首先,您需要将Firefox与firebug和Web开发人员工具栏一起使用。 Firebug提供了ajax流量的绝佳视图,Web开发人员工具栏可帮助您查看页面中发生的情况。
使用jQuery发出ajax请求将值“发送”到另一个php文件。不要害怕分离文件,事实上它是鼓励和考虑好的编程。如果你发现你向php脚本发送了很多信息,你会想要使用JSON而不是url的一部分。
答案 2 :(得分:1)
正如Brian所说,你应该把它放在条件语句中..你的PHP也很糟糕。请尝试以下
<?php if(isset($_GET["Result"])) : ?>
// do work with set variable
<?php $dbID = $_GET["Result"];
echo($dbID); ?>
<?php else : ?>
// "Result" not set
<SCRIPT language="JavaScript">
var carname="Volvo";
location.href="http://localhost/put.php?Result=" + carname;
</SCRIPT>
<? endif; ?>
我认为如果您正在尝试学习Ajax方法,这是一个很好的练习,在现实世界中,我建议使用像jQuery这样的框架。当然,了解其工作原理将有助于您最终构建更好的应用程序。
答案 3 :(得分:0)
您的问题很难理解(至少对我来说。)我的猜测是您希望使用AJAX将数据发送到服务器并在不离开页面的情况下接收响应。
实现这一目标的最简单方法可能是使用jQuery等库。 (见jQuery.ajax())
答案 4 :(得分:0)
伙计,您应该遵循客户端 - 服务器模式。因此,客户端页面可以使用某些ajax向服务器页面发出请求。这将响应客户端,您可以使用您想要的数据。
答案 5 :(得分:0)
当然它会保持刷新:))因为一旦浏览器获得js代码,它将加载您指定的页面,这将向您的浏览器发送相同的页面...您明白了。这就像写作(;;){}
答案 6 :(得分:-1)
PHP仅在服务器上运行,而javascript仅在客户端上运行。当您的客户端运行javascript时,不能再对该请求执行PHP。