我正在进行ajax调用,如下所示: p>
< code> $ .ajax({ type:“POST”, url:“myPHP.php”, data:1, success:window.location.reload() }); < / code> pre>和一些与之相关的PHP: p>
&lt;?php // PDO CONNECTION \ nsession_start(); $ mission_id = $ _POST ['mission']; $ _SESSION ['auth'] - &gt; mission_id = $ mission_id; if($ pdo-&gt; prepare( 'UPDATE client SET mission_id =?WHERE id = 1;') - &gt; execute([$ mission_id])){ //创建一个会话,由页面加载时的标题读取 $ _SESSION ['flash ''['success'] ='好。'; }其他{ $ _SESSION ['flash'] ['danger'] ='问题。'; } ?&gt; code> pre>
在我的header.php(我在每个页面中都包含)中,我有一个代码来读取会话['flash'],显示相关的消息,然后销毁 它。 在我的页面中,我有一个php条件,它会照看会话['auth'] - &gt; mission_id并根据它显示内容。 p>
我愿意刷新页面一次 php代码已完全完成,以便显示会话flash并考虑会话mission_id发生的条件。 p>
问题是当我执行我的Ajax代码时 ,页面重新加载,但如果php会话(flash和mission_id)没有准备好。 我必须手动重新加载以查看更改。 p>
我尝试使用完整而非成功的解决方案,甚至setTimeout但它不起作用。 p>
我知道PHP有效,因为我可以看到我的数据库发生了PHP的变化。 p>
我试过: p>
$。 ajax({ type:“POST”, url:“myPHP.php”, data:myDatas, success:setTimeout(window.location.reload(),3000) }); code> pre>
还有其他一些东西。 p>
感谢您的帮助。 p> div>