我正在开发一个项目,我使用ajax进行异步数据库访问。 我将值存储在JavaScript变量中,如下所示。
var content=xmlhttp.responseText;
现在我想要的是将此值传递给同一页面上的php模块。 请建议我..紧急
答案 0 :(得分:1)
您必须向另一个脚本发出单独的AJAX请求才能实现此目的。 PHP是服务器端的,因此不能直接与客户端交互。
答案 1 :(得分:0)
你应该在PHP中处理数据(你分配给内容),因为正如其他答案告诉你的那样,PHP是服务器端的,而JavaScript是在客户端上。如果您从您控制的页面获取此数据,则只需在发送数据之前修改数据var content = xhr.responseText;
。例如,如果要对服务器上的process.php
文件进行AJAX调用以获取您在JavaScript中分配给content
的数据,请确保在process.php中处理数据。 echo()将数据(然后存储在客户端的content
内):
在process.php中:
// below is the normal server script which you are storing in content on the client
// echo $result;
// instead, we are going to operate on the data first:
return doSomething($result);
然后在客户端:
var newContent = xhr.responseText;
newContent
变量将包含您以前希望用PHP修改的数据。如果您无法控制使用AJAX调用的服务器脚本,那么如前所述,您需要使用PHP向服务器发送SECOND AJAX调用,并使用$_GET
或{{1检索$_POST
数据,然后在那里播放。
答案 2 :(得分:0)
我不清楚你需要将值从javascript传递给php。
但我可以给你,
对您的问题采取非推荐但有效的方法:
你说,你最初是在进行Ajax调用。在处理相应的服务器端php函数时,将响应值(xmlhttp.responseText的值)存储到 $ _ SESSION 变量中。最后在ajax响应处理函数中重新加载页面(使用location.reload())。
针对您的问题的推荐方法:
你可能在php代码中添加了一些if-else控制流结构,并期望在获得ajax响应值后执行它们(遗憾的是你不能这样做)。因此,如果你确实有这样的逻辑,那么将那些if-else条件转换为相应的Javascript代码。可能是一个javascript函数,并通过传递ajax响应值来调用该函数。这个新功能将使用您的ajax响应值,并通过应用必要的逻辑对您网页的某些部分进行更改。