如何在Javascript条件下触发php代码

Sha*_*ady 3 html javascript php include

好吧,所以我要做的是触发PHP代码,只有当if条件为真时(在javascript中),我才明白php是服务器端,而javascript是客户端.除了1件事之外,php代码的包含工作完美,它实际上是在页面加载时触发,而不是在if条件发生时触发.如果你能帮我怎么做,我们将非常感激.我想只在if条件为真时才包含php文件

提前致谢

这是我正在使用的代码:

<html>
    <script src="//cdnjs.cloudflare.com/ajax/libs/visibility.js/0.5/visibility.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
var seconds=20;
var flag=false;


$(document).ready(function(){
if (!flag)
Visibility.every(1000, tick);



function tick()
{
      display();

        if (seconds>0)
        {
         seconds--;
        }
        else
        {
          if (!flag){
          document.getElementById('more').innerHTML +="<?php include_once('Code.php'); 
          ?>";
          document.getElementById('more').style.visibility='visible';
          flag=true;
          }
        }
}
function display()
{
   $("#timer").html(seconds);
}
});
</script>
<div id="TrafficHeader" style="height:100px; background-color:grey; padding:20px;">
<div id="timer"></div>
<div id="more" style="visibility: hidden;"><a href="http://www.double-it.com/Traffic/index.php">View Next Ad</a></div></div>
<iframe id="myframe" src="<?php echo ''.$URL;?>" height="100%" width="100%" frameborder="0">
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

nan*_*ana 5

这是不可能的,至少不是你的方式.
原因是if在服务器完成对php脚本的评估后很长时间才在客户端计算机上评估条件.

第一台服务器必须完成处理您的PHP脚本,然后想象它必须打包它然后将整个包发送到客户端,然后解压缩它并呈现html并评估html中的javascript,或者询问外部文件,如图像, css或其他脚本文件.

如果您尝试包含一些额外的javascript,那么您可以script以编程方式在头部添加额外的标记.如果要在服务器上执行某些操作,可以轻松地在服务器上调用脚本.

以下是仅当if为true时才能从javascript执行该脚本的方法:

...
if (!flag){
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", "http://link/to/your/code.php?and=special&parameters=sent", false );
    xmlHttp.send( null );

    document.getElementById('more').innerHTML += xmlHttp.responseText;
    document.getElementById('more').style.visibility='visible';
    flag=true;
    }
...
Run Code Online (Sandbox Code Playgroud)