当我正在进行Ajax调用时,我需要在前端显示后端正在运行的内容。
例如,我正在上传文件。那时我有以下步骤来完成。
通过单一的ajax
我知道如何一次获得3个回复
json_array('res1' => '', 'res2' => '', 'res3' => '')
但是我需要在3个时间间隔内获得相同的响应。请查看以下代码以了解您的理解
function file_sampe_upload(){
//code for insert
.......
echo json_array('status' => 1, 'res1' => 'Files inserted successfully');
//Code for moving files to specific folder
......
echo json_array('status' => 1, 'res2' => 'Files moved successfully');
//Code for updating the files
......
echo json_array('status' => 1, 'res3' => 'Files updated successfully');
exit;}
有没有可能这样做?建议是最有帮助的。
更新: -
概念输出缓冲会对这个问题有所帮助吗?
答案 0 :(得分:0)
您需要为此执行3个AJAX请求。所以像这样:
function file_sampe_insert(){
echo json_array('status' => 1, 'res1' => 'Files inserted successfully');
exit;
}
function file_sampe_move(){
echo json_array('status' => 1, 'res2' => 'Files moved successfully');
exit;
}
function file_sampe_upload(){
echo json_array('status' => 1, 'res3' => 'Files updated successfully');
exit;
}
1. AJAX request which call the insert
2. AJAX request which call the move
3. AJAX request which call the upload
答案 1 :(得分:0)
您似乎想要使用 WebSockets http://en.wikipedia.org/wiki/WebSocket
服务器PHP: http://socketo.me/
PHP WebSocket客户端:(发送有关进度的信息) https://github.com/lemmingzshadow/php-websocket
Javascript客户端:(用于接收) http://autobahn.ws/js/