经过大量研究,我找到了如何做到这一点......
1. 使用
App::uses('HttpSocket', 'Network/Http'); // you should put this on your controller
2.- 在你的函数上加上这个
$HttpSocket = new HttpSocket()
3.-这里是您想通过POST发送的数据(在此示例中,我将使用已使用的变量..您可以替换它们,添加更多或删除一些..这取决于您要发送的信息)
$data = array(
"api_key" => "API KEY",
"user_id" => $idUser,
"event" => "other",
"extra" => array(
"course" => $course,
"price"=> $price )
);
3.- 您设置标题
$request = array(
'header' => array('Content-Type' => 'application/json',
),
);
4.将其json_encode
$data = json_encode($data);
5. - 你将邮寄到哪里?发送哪些数据?请求类型是什么?按此方式操作。
$response = $HttpSocket->post('http://api.yourweburl.com/api/', $data, $request);
*.- 您可以取消注释此片段以查看响应
//pr($response->body());
*.- 最后,如果你想在完成所有操作后重定向到某个地方...可以这样做...
$this->redirect(array('action' => 'index'));
你应该有类似这样的东西。
public function actiontooutbound($idUser, $course, $price){
$HttpSocket = new HttpSocket();
$data = array(
"api_key" => "API KEY",
"user_id" => $idUser,
"event" => "other",
"extra" => array(
"course" => $course,
"price"=> $price )
);
$request = array(
'header' => array(
'Content-Type' => 'application/json',
),
);
$data = json_encode($data);
$response = $HttpSocket->post('http://api.outbound.io/api/v1/track', $data, $request);
$this->redirect(array('action' => 'index'));
这是如何从另一个函数中调用此函数的方法(以防万一)
$this->actiontooutbound($idUser, $course, $price);
如果您有任何问题,请让我知道,我很乐意帮助您;)