CakePHP中的http post和Redirect有什么区别

时间:2016-04-21 10:58:09

标签: http cakephp post

之间有什么区别
$HttpSocket->post('http://localhost:8090/example/samplecontroller/add', $data);

$this->redirect(array('controller'=>'samplecontroller','action' => 'add', $data));

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

App::uses('HttpSocket', 'Network/Http'); and
$HttpSocket = new HttpSocket();

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

  

被修改

 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;
}

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

1 个答案:

答案 0 :(得分:3)

我不认为他们都发布数据,我很确定重定向会将数据作为GET方法发送..或者作为url vars例如(?parameter1 = value1& parameter2 = value2)。

他们完全不同。当您希望用户发送到另一个页面时,使用重定向。当您想要将某些数据发布到URL并对响应执行某些操作时,将使用HTTPSocket-> Post方法:

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