-1

我正在开发一个使用 ajax 进行异步数据库访问的项目。我将值存储在 JavaScript 变量中,如下所示..

var content=xmlhttp.responseText;

现在我想要的是将此值传递给同一页面上的 php 模块..请建议我..它很紧急

4

3 回答 3

1

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

于 2012-12-24T05:12:23.700 回答
0

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

但我可以给你,

  1. 一种不推荐但可行的方法来解决您的问题:
    您说,您一开始是在进行 Ajax 调用。在处理相应的服务器端 php 函数时,将响应值(xmlhttp.responseText 的值)存储到$_SESSION变量中。最后在 ajax 响应处理函数中重新加载页面(使用 location.reload())。

  2. 以及针对您的问题的推荐方法:
    您可能在 php 代码中添加了一些 if-else 控制流结构,并期望在获得 ajax 响应值后执行它们(遗憾的是您不能这样做)。因此,如果您确实有类似的逻辑,则将这些 if-else 条件转换为相应的 Javascript 代码。可能是一个 javascript 函数,并通过将 ajax 响应值传递给它来调用该函数。这个新功能将使用您的 ajax 响应值并通过应用必要的逻辑对网页的某些部分进行更改。

于 2012-12-24T06:02:16.187 回答
0

您应该在 PHP 中处理数据(分配给内容),因为正如这里的其他答案告诉您的那样,PHP 是服务器端的,而 JavaScript 是客户端的。如果您从您控制的页面获取此数据,而不是var content = xhr.responseText;在发送之前修改数据。例如,如果您正在process.php对服务器上的文件进行 AJAX 调用以获取您content在 JavaScript 中分配给的数据,请确保在 echo()'ing 数据之前处理 process.php 中的数据(您然后存储在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$_POST检索该content数据,然后使用它在那里。

于 2012-12-24T05:25:36.317 回答