之间有什么区别
$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()
答案 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 **/