我正在开发一个使用 ajax 进行异步数据库访问的项目。我将值存储在 JavaScript 变量中,如下所示..
var content=xmlhttp.responseText;
现在我想要的是将此值传递给同一页面上的 php 模块..请建议我..它很紧急
我正在开发一个使用 ajax 进行异步数据库访问的项目。我将值存储在 JavaScript 变量中,如下所示..
var content=xmlhttp.responseText;
现在我想要的是将此值传递给同一页面上的 php 模块..请建议我..它很紧急
您必须向另一个脚本发出单独的 AJAX 请求才能实现此目的。PHP 是服务器端的,因此不能直接与客户端交互。
我不清楚您需要将值从 javascript 传递到 php。
但我可以给你,
一种不推荐但可行的方法来解决您的问题:
您说,您一开始是在进行 Ajax 调用。在处理相应的服务器端 php 函数时,将响应值(xmlhttp.responseText 的值)存储到$_SESSION变量中。最后在 ajax 响应处理函数中重新加载页面(使用 location.reload())。
以及针对您的问题的推荐方法:
您可能在 php 代码中添加了一些 if-else 控制流结构,并期望在获得 ajax 响应值后执行它们(遗憾的是您不能这样做)。因此,如果您确实有类似的逻辑,则将这些 if-else 条件转换为相应的 Javascript 代码。可能是一个 javascript 函数,并通过将 ajax 响应值传递给它来调用该函数。这个新功能将使用您的 ajax 响应值并通过应用必要的逻辑对网页的某些部分进行更改。
您应该在 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
数据,然后使用它在那里。