如何将JS变量传递给PHP变量
我正在开发一个web应用程序,该应用程序目前提供MySql数据库中的文档列表。列表中的每个文档都有一个onclick事件,假设该事件将打开特定文档,但我无法执行此操作 我的列表是使用Ajax发布的。以下是代码摘录(JS): } 最后,openfile onclick事件触发以下php代码以查找要下载的文件(php): 这段代码在下载文件时运行良好。如果省略Sql查询的WHERE部分,onclick事件将下载第一个文件。不知何故,我需要获取screenRef元素文本并将其更改为php文件可以读取的变量。有人知道怎么做吗?而且,没有任何页面刷新 我真的很感谢大家的反馈,并提前感谢你们如何将JS变量传递给PHP变量,php,ajax,variables,Php,Ajax,Variables,我正在开发一个web应用程序,该应用程序目前提供MySql数据库中的文档列表。列表中的每个文档都有一个onclick事件,假设该事件将打开特定文档,但我无法执行此操作 我的列表是使用Ajax发布的。以下是代码摘录(JS): } 最后,openfile onclick事件触发以下php代码以查找要下载的文件(php): 这段代码在下载文件时运行良好。如果省略Sql查询的WHERE部分,onclick事件将下载第一个文件。不知何故,我需要获取screenRef元素文本并将其更改为php文件可以读取的
DFM您不能从服务器端(php)代码中引用客户端(js)变量
您需要将要在post中显示的文档ID包含在查询字符串中或返回的表单值中,从而将其传递回服务器。感谢您的输入-是否可以使用Ajax执行此操作,例如,将xmlHTTP.responseText转换为变量或其他特定于Ajax的标准?我认为您的想法是错误的。AJAX仍然在客户端上运行。无论您发送什么,都是通过Querystring发送到服务器(PHP代码),然后处理PHP代码并返回一个普通的html页面。只需通过ajax post请求发送您想要的任何内容,我建议您使用dojo或jQuery之类的框架来实现这一点。
function stateChanged()
{
if (xmlhttp.readyState==4)
{
//All documents//
document.getElementById("screenRef").innerHTML="<font id='maintxt'; name='title'; onclick='fileopen()'; color='#666666';>" + xmlhttp.responseText + "</font>";
}
}
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
//Open file
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}
}
$con = mysql_connect("localhost", "root", "password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("Documents", $con);
$query = mysql_query("SELECT name, type, size, content FROM upload WHERE name = NEED JS VARIABLE HERE");
$row = mysql_fetch_array($query);
header ("Content-type: ". $row['type']);
header ("Content-length: ". $row['size']);
header ("Content-Disposition: attachement; filename=". $row['name']);
echo $row['content'];