2016-04-21 59 views
1

HTTP POST和重定向之間的區別是什麼是什麼CakePHP中

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

回答

3

我不認爲他們既POST數據,Im相當肯定重定向將發送數據作爲GET方法..或作爲網址變量例如(?parameter1 = value1 & parameter2 = value2)。

它們完全不同。當您希望用戶發送到另一個頁面時使用重定向。 HTTPSocket-> Post方法用於當你想發佈一些數據到一個URL和做一些響應,如:

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

是的,我試過這個,但如何知道它張貼或不?因爲當我嘗試從「http:// localhost:8090/example/samplecontroller/add」獲取url數據時,它返回null。在你的'samplecontroller/add'操作中加入 – Shashikala

+0

add'debug($ this-> request-> data); exit;' 如果發佈的數據數組被返回,那麼你知道你已經打了它。如果您使用我的示例,返回數據將位於'$ response' var中。 –

+0

它仍然返回null :(檢查我的完整代碼編輯 – Shashikala

相關問題