在CakePHP中http post和重定向之间有什么区别

在CakePHP中http post和重定向之间有什么区别,http,cakephp,post,Http,Cakephp,Post,两者的区别是什么 $HttpSocket->post('http://localhost:8090/example/samplecontroller/add', $data); 及 两者都发布数据,而第一种方法对我不起作用。 我曾经 如何让它工作?或者第二种方法也是HTTPpost 已编辑 当我运行httpget()时,我得到了array()我不认为他们都发布了数据,我非常确定redirect将以get方法发送数据。。或作为url变量,例如(?parameter1=value1¶

两者的区别是什么

$HttpSocket->post('http://localhost:8090/example/samplecontroller/add', $data);

两者都发布数据,而第一种方法对我不起作用。 我曾经

如何让它工作?或者第二种方法也是HTTPpost

已编辑


当我运行httpget()时,我得到了
array()

我不认为他们都发布了数据,我非常确定redirect将以get方法发送数据。。或作为url变量,例如(?parameter1=value1¶meter2=value2)

他们完全不同。当您希望将用户发送到其他页面时,将使用重定向。HTTPSocket->Post方法用于将某些数据发布到URL并对响应进行处理,例如:

$response = $HttpSocket->post('http://localhost:8090/example/samplecontroller/add', $data);
/** do something with $response data here **/

是的,我试过这个,但如何知道它是不是张贴?因为当我尝试从“”获取url数据时,它返回null。在您的
samplecontroller/add
action add
debug($this->request->data)中;退出若返回了一个已发布数据的数组,那个么您就知道已经找到了它。如果您使用我的示例,返回数据将在
$response
变量中。它仍然返回null:(检查我编辑的完整代码。并且您可以从浏览器访问
add()
),好吗?发布数据时,请尝试将其编码为json,例如
$response=$HttpSocket->post('http://localhost:8090/catv/airtime_masters/httpget,json_编码($data));
Cakes请求处理程序将自动将json字符串解码为请求对象数据属性yya实际上我只需要json编码的数据。但在此之前,我需要发布的数据。我无法获取它。。
App::uses('HttpSocket', 'Network/Http'); and
$HttpSocket = new HttpSocket();
 public function httppost() {
    App::uses('HttpSocket', 'Network/Http');
    $HttpSocket = new HttpSocket();
    $data = array('name' => 'test', 'type' => 'user');
    $response = $HttpSocket->post('http://localhost:8090/catv/airtime_masters/httpget', $data);
    return $response;
}

 public function httpget() {
    debug($this->request->data);
    exit;
}
$response = $HttpSocket->post('http://localhost:8090/example/samplecontroller/add', $data);
/** do something with $response data here **/