Php 使用jquery.postAjax的多重回调
使用jQueryPhp 使用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
.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);