大佬教程收集整理的这篇文章主要介绍了javascript – 多次自动调用Php脚本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一个ajax调用是调用一个php脚本,它基本上是一个长时间运行的进程,它设置了一些会话变量.
稍后在某些时间间隔(比方说,每2秒)我运行另一个ajax调用来检查会话变量,以了解进程(第一个PHP脚本执行)何时完成.
第一个php脚本从数据库中获取数据并将其拧入文件中.在每个提取中,我计算循环数并将其存储到会话变量中以保留某种跟踪记录.喜欢;
$i=0; $_SESSION['time']=date('m-d-Y H:i:s'); while(...) { ini_set('session.use_only_cookies',falsE); ini_set('session.use_cookies',falsE); ini_set('session.use_trans_sid',falsE); ini_set('session.cache_limiter',null); session_start(); $_SESSION['tracksatus']="loop number : ".$i." time is :"$_SESSION['time']; session_write_close(); $i++; ...... ...... }
我通过seTinterval ajax调用的另一个php脚本就是这样;
echo $_SESSION['trackstatus']
设定的间隔ajax让我回归;
loop number 1 time is m-d-Y H:i:s loop number 5 time is m-d-Y H:i:s loop number 8 time is m-d-Y H:i:s ......
然后再打几次电话;
loop number 1 time is m-d-Y H1:i1:s1 .....
注意H:i:s的变化为H1:i1:s1
所以根据我的理解,php脚本正在调用两次.并且对于您的信息,相同的代码在12小时之前就可以正常工作.我之前遇到过这个问题,并以某种方式解决了它(试错,所以@R_878_6618@样或者可能是自动的……好吧,实际上我没有线索).
能否请你告诉我我做错了什么?
如果您需要更多信息,请提及.
有趣的是,它只是在询问了这个问题之后才按预期工作,甚至没有改变一行代码.但我想知道原因.
您可以通过添加session_write_close()来修复它;在session_start();每次更改会话数据后.
session_write_close会将更改写入HD,因此另一个脚本可以读取它.
session_start将从HD加载会话,但请确保您的另一个脚本不会对会话进行任何更改,这些更改将被您的长脚本覆盖.
如果您使用单独的域,还有一件事:在实际的AJAX调用发生之前,您的浏览器会将OPTIONS请求发送到相同的URL以检查CORS标头.所以在你的脚本开始时检查http METHOD,如果它是HEAD或OPTIONS make die();
以上是大佬教程为你收集整理的javascript – 多次自动调用Php脚本全部内容,希望文章能够帮你解决javascript – 多次自动调用Php脚本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。