使用jquery 的ajax,如何触发一个程序的执行,但是请求成功之后立刻执行success回调函数?
这个问题不好用语言表述,先贴一段我想实现效果的代码:
ajax:
index.php:
set_time_limit(0);
echo str_pad('success',1024,' ');
ob_flush();
flush();
sleep(rand(5,40)); //这里会运行一个较慢的批量处理程序,暂时用sleep模拟
file_put_contents('test.txt','1111112');
die;
当然上面的代码是实现不了的,但是能直观的看出我的意图,我希望的效果就是ajax请求index.php,index.php开始执行时,就响应ajax成功。
开始尝试过设置ajax请求的timeout:
这样写是没问题的,请求1秒,立刻完成,后台也不影响继续执行,但是不敢保证 请求在1内能成功发送,所以这中方案也不靠谱,不知道大家有没有更好的解决办法?
Olivier
12 years, 11 months ago