2016-04-21 3 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?

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

ответ

3

Я не думаю, что они оба POST данные, Im уверен, что редирект будет посылать данные в виде GET метод .. или как url ​​vars eg (? parameter1 = value1 & parameter2 = value2).

Они совершенно разные. перенаправление используется, когда вы хотите, чтобы пользователь отправил на другую страницу. Метод HTTPSocket-> Сообщение используется, когда вы хотите опубликовать некоторые данные в URL и сделать что-то с ответом например:

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

Да я попытался это, но как знать, она размещена или нет? потому что, когда я пытаюсь получить данные url из «http: // localhost: 8090/example/samplecontroller/add», он возвращает null. – Shashikala

+0

в вашем 'samplecontroller/add' action добавить' debug ($ this-> request-> data); exit; ' Если массив отправленных данных возвращен, то вы знаете, что его ударили. данные возврата будут в var '$ response', если вы используете мой пример. –

+0

Он по-прежнему возвращает null :(Проверьте мой полный код, отредактированный – Shashikala

Смежные вопросы