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

标签 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?

Edited

 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()

最佳答案

我不认为他们都发布了数据,我很确定重定向会将数据作为 GET 方法发送。

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

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

关于http - CakePHP 中的 http post 和 Redirect 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36767531/

相关文章:

php - CakePHP - 同时更新多个表

oracle - PL/SQL : UTL_HTTP POST with UTF8 string results in broken characters

ruby - 如何让外部 API 在不关闭 protect_from_forgery 的情况下发送 POST?

http - 为什么 recv() 在除第一次以外的所有 for 循环迭代中返回 '0' 字节?

javascript - jQuery 无法与 cakephp 2.0 一起使用

java - 在loadrunner 9.52中使用java over WEB(http/html)协议(protocol)

CakePHP 使用 Auth 组件通过用户名或电子邮件登录

javascript - 将 Ajax 数据发布到 PHP REST 服务

http - HATEOAS Rel - 有任何标准吗?

http - 在请求进行中修改 golang Http Transport 是否安全?