php中有两个脚本a.php和b.php,a.php执行时间为5s,b.php执行时间为10s,
我现在请求a.php脚本,要在a.php脚本中触发执行b.php这个脚本,并且a.php脚本不等待b.php脚本的数据,在5s后a.php脚本返回数据停止执行,b.php继续执行,跪求各位大虾们帮忙~~~~ 多谢多谢~~~我是想在请求a.php的时候,我需要把一些数据缓存到本机,这些是在b.php中处理的,a.php不等待b.php的执行结果~~~

解决方案 »

  1.   

    js中的ajax方式 + php中的sleep函数(还有就是while循环了)
      

  2.   

    执行a.php -> 在a.php中执行ajax方式请求(请求b.php) -> a.php接续执行(因为ajax的异步性),b.php开始执行
    具体代码楼主练练手自己打吧
      

  3.   


    那在php脚本中使用ajax方式请求的话,是不是必须使用js脚本的形式,php中有没有办法直接使用ajax请求的而不需要加载jquery插件的~~
      

  4.   

    虽然PHP不能直接跨页面传值,但可以考虑用一个文件记录一个标志位,A控制B还是可行的
      

  5.   

    手写原ajax请求代码,如下:
    <script language="javascript">
    var request;
    function createxmlHttpRequest(){//判断浏览器类型,创建xmlHttpRequest对象
    if(!request){
    if(window.XMLHttpRequest){
    request = new XMLHttpRequest();
    }else{
    request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    }function get_test(){//get发送模式
    createxmlHttpRequest();
    var url = "abc.php?text=" + encodeURI(document.getElementById("text").value);
    request.open("get", url, true);//同步或异步
    request.onreadystatechange = callback;
    request.send(null);
    }function post_test(){//post发送模式
    createxmlHttpRequest();
    var url = "abc.php";
    var send = "text=" + encodeURI(document.getElementById("text").value);
    request.open("post", url, true);//false同步 true异步(默认的)
    request.onreadystatechange = callback;
    request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    request.send(send);
    }function callback(){//回调函数
    if (request.readyState == 4){
    if (request.status == 200){
    alert(request.responseText);
    }else if(request.status == 404){
    alert("该路径未找到");
    }else if(request.status == 403){
    alert("禁止访问");
    }else{
    alert("status is " + request.status);
    }
    }
    }
    </script>
      

  6.   


    其实jQuery实现Ajax还是非常简单方便的,如果非要不用jQuery的话,那么就用楼上的原生JS吧!