2012-12-24 126 views
-1

我正在使用ajax进行异步数据库访问的项目。 我值存储在JavaScript变量如下..将变量值从javascript传递到php

var content=xmlhttp.responseText; 

现在是我想要的就是这个值传递给同一个页面上的PHP模块.. 请建议me..its迫切

+1

进行另一个Ajax调用来发送数据。有很多相关的问题(这个问题很多)。检查此页面上的右栏。 –

回答

1

你必须向另一个脚本发出单独的AJAX请求才能实现此目的。 PHP是服务器端的,因此不能直接与客户端交互。

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向服务器发送第二次AJAX调用,并使用$_GET$_POST来检索该数据,然后使用然后在那里玩。

0

我不清楚您需要将值从javascript传递给php。

,但我可以给你,

  1. 对你的问题的非推荐,但工作方式:
    你说,你是在第一次调用Ajax。在处理相应的服务器端php函数时,将响应值(xmlhttp.responseText的值)存储到变量$ _SESSION变量中。最后在ajax响应处理函数中重新加载页面(使用location.reload())。

  2. 而且对你的问题建议的方法:
    你可能已经增加了一些的if-else控制流结构中的PHP代码,并期待获得Ajax响应值(可惜你不能做到这一点)后执行。所以如果你确实有这样的逻辑,那么将这些if-else条件转换为相应的Javascript代码。可能是一个JavaScript函数,并通过向其传递ajax响应值来调用该函数。这个新函数将使用您的ajax响应值,并通过应用必要的逻辑在网页的某些部分进行更改。