Php 使用jquery.postAjax的多重回调

Php 使用jquery.postAjax的多重回调,php,jquery,ajax,Php,Jquery,Ajax,使用jQuery.post将图像上传到php的ajax是否可以获得多个回调? 我正在通过二进制字符串向服务器发送图像进行处理,并希望在图像上载后显示前端状态,然后显示处理图标 目前我正在使用standard.post,但理想情况下,这是我正在寻找的场景- jquery: php: 我在php脚本中设置了一个数组 $r['callback_one'] = 'complete'; $r['callback_two'] = 'fail'; echo json.encode($r); javascr

使用jQuery
.post
将图像上传到php的ajax是否可以获得多个回调?
我正在通过二进制字符串向服务器发送图像进行处理,并希望在图像上载后显示前端状态,然后显示处理图标

目前我正在使用standard.post,但理想情况下,这是我正在寻找的场景-
jquery:

php:


我在php脚本中设置了一个数组

$r['callback_one'] = 'complete';
$r['callback_two'] = 'fail';

echo json.encode($r);
javascript:

r = JSON.parse(data);
if (r.callback_one === 'complete){//do something};
当然,这仍然会一次发送所有回调,这可能不是您想要的


如果您需要尝试按顺序获取内容,我唯一能想到的就是使用 冲洗:

甚至可能发生的情况是,在服务器建立足够的字符以发送它认为值得发送的数据包之前,客户端不会从服务器接收数据包

旧答案:

您可以使用ob_implicit_flush,它将告诉输出缓冲关闭缓冲一段时间:

ob_implicit_flush(true);

# CODE THAT NEEDS IMMEDIATE FLUSHING

ob_implicit_flush(false);

你可以查看插件的源代码,它完全符合你的要求。@Austen我看到了这一点,但无法在firefox和chrome上正常工作。我在左边的图片标题下看到一个错误图标,这太糟糕了。那个插件帮我省去了很多麻烦。也许另一个问题可以解决你的问题;)
r = JSON.parse(data);
if (r.callback_one === 'complete){//do something};
ob_end_flush();

# CODE THAT NEEDS IMMEDIATE FLUSHING

ob_start();
ob_implicit_flush(true);

# CODE THAT NEEDS IMMEDIATE FLUSHING

ob_implicit_flush(false);