在CURL请求之前,PHP回显未显示

时间:2014-06-18 11:51:45

标签: php codeigniter rest curl

我的问题是我有一个使用curl的脚本但是我想在curl请求id完成之前发送一条回复消息。但是,在请求完成之前,脚本不会显示回显。

我正在使用codeigniter与其他客户端添加

<?php 
function test(){
 echo 'Your request is being generated';
 $body='some data';
 $this->load->library('rest', array('server' => 'https://api.server.com'));
 $this->rest->http_header('Authorization', 'secret key' );
 $this->rest->post('/create',json_encode($body) , 'json' );
}

由于POST请求可能需要一分钟加上长时间,我正在尝试将某种响应发送回客户端应用程序,以便通知应用程序请求正在处理并且他们可以离开页面。

请注意,由于这是一个后端API系统,我必须发布某种响应,如果没有,我的手机应用程序会在等待响应时挂起。

1 个答案:

答案 0 :(得分:1)

使用CodeIgniter时,所有输出都将输出缓冲区,然后刷新到浏览器。我认为更好的想法是将页面加载到不同的函数中,将CURL加载到不同的函数中。在main函数中只需加载带有加载图标的视图,然后通过AJAX调用第二个函数来启动CURL操作并显示CURL的输出。