如何将json响应从一个php页面重定向到另一个页面?
该场景如下:有两个名为page1.php和page2.php.onClick的php页面,单击page3.php中的一个按钮,会向page1.php发送ajax请求。我必须将这个请求重定向到page2.php,在那里进行处理。现在我需要在page1.php中获取处理后的数据,并将其转换为json,然后将json响应发送到page3.php。因此page1.php就像是page3.php和page2.php之间通信的中间页面 如果我在page1.php中使用header(“Location:page2.php”),那么我无法从page2.php中获取处理后的数据(因为我需要page1.php中的处理后的数据)如何将json响应从一个php页面重定向到另一个页面?,php,ajax,json,Php,Ajax,Json,该场景如下:有两个名为page1.php和page2.php.onClick的php页面,单击page3.php中的一个按钮,会向page1.php发送ajax请求。我必须将这个请求重定向到page2.php,在那里进行处理。现在我需要在page1.php中获取处理后的数据,并将其转换为json,然后将json响应发送到page3.php。因此page1.php就像是page3.php和page2.php之间通信的中间页面 如果我在page1.php中使用header(“Location:pag
请建议如何做到这一点?onpage2.phpwrite
echo json\u enode($return\u data)
并通过json\u decode($output,true)在page3.php上检索编码>并存储到$\u会话中
变量和
在page3.php上通过$\u会话['']
参考:
你能不能不仅仅要求页面2.php
我的意思是:
page3.php->对page1.php的AJAX请求
page1.php->$request=json_decode(来自page3.php的AJAX请求)
需要page2.php
page2.php->处理$request
填充$response
page1.php->echo json_encode($response)
page3.php->来自page1.php的AJAX响应
我不确定您是否可以像这样重定向ajax请求。如果有人知道,请给我看其他的。从我对这些事情的了解来看,我觉得你在用一种不好的方式来做这件事
我想举一个例子:
- 创建一个类来处理
处理。原因是
因为你可以用同样的东西
不止一次,你不必
然后复制代码
- 然后,您可以在第1页,像这样要求这个类文件
require_once('path/to.file')代码>
- 接下来,在第1页处理ajax请求的函数或脚本片段中,您可以创建处理类的新实例并将数据传递给它。进行处理并返回数据
明白我的意思了吗?无需重定向,只需将处理包含在对象中即可
这里有一个例子
$processing = new Processing($_POST);
$return_data = $processing->run();
return json_encode($return_data);
那是不可行的。如果从一个php页面重定向到另一个页面,将向ajax调用发送一个301 http响应。无论如何,我看不出在两个php页面之间进行重定向有什么意义。也许你可以用条件包含/要求来解决?