Javascript 一次单击即可执行多个php页面

Javascript 一次单击即可执行多个php页面,javascript,php,html,Javascript,Php,Html,这是我的代码片段: <html> <script type="text/javascript"> function Run() {var a=["ONE" ,"TWO" ,"THREE", "FOUR", "FIVE"]; window.location.href = "index.php?w1=" +a;} </script> <body> <input type="button" id="upload" value="RUN" oncl

这是我的代码片段:

<html>
<script type="text/javascript">
function Run()
{var a=["ONE" ,"TWO" ,"THREE", "FOUR", "FIVE"];
window.location.href = "index.php?w1=" +a;}
</script>
<body>
 <input type="button" id="upload" value="RUN" onclick="Run();"  />
<body>
</html>

可能吗

听起来您可以通过ajax实现您正在尝试的目标。要使它们同步运行(一个接一个),可以在当前运行的ajax的成功回调中调用下一个PHP页面。 下面是一些伪代码:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

    <script type="text/javascript">
    var data = "my data";
    $.ajax({ url: 'index.php',
     data: { data: data },
     type: 'post',
     success: function(output) {             
            runindex2(output.data);
     }
    });

    function runindex2(data) {
        $.ajax({ url: 'index2.php',
         data: { mydata: data },
         type: 'post',
         success: function(output) {             
                runindex3();
         }
        });
    }

    function runindex3()....
    </script>

var data=“我的数据”;
$.ajax({url:'index.php',
数据:{data:data},
键入:“post”,
成功:函数(输出){
runindex2(输出数据);
}
});
函数runindex2(数据){
$.ajax({url:'index2.php',
数据:{mydata:data},
键入:“post”,
成功:函数(输出){
runindex3();
}
});
}
函数runindex3()。。。。
最佳案例:

使用ajax

<html>
    <head>
        <script type="text/javascript">
        var xmlhttp = new Array;
        var url     = new Array;

        // Create 3 instances.
        for (var i = 0; i < 3; i++) {
            xmlhttp[i] = new XMLHttpRequest;
        }
        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];

        // function which will run
        // on button click.
        function Run() {
            var url1 = "test.php?w1="  + arr;
            var url2 = "test1.php?w1=" + arr;
            var url3 = "test2.php?w1=" + arr;

            url = [url1, url2, url3];

            for (var i = 0; i < 3; i++) {
                xmlhttp[i].open("GET", url[i]);
                xmlhttp[i].onreadystatechange = function() {
                    if (this.readyState == 4) {
                        document.write(this.responseText);
                    }
                }
                xmlhttp[i].send(null);
            }
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />
    <body>
</html>

var xmlhttp=新数组;
var url=新数组;
//创建3个实例。
对于(变量i=0;i<3;i++){
xmlhttp[i]=新的XMLHttpRequest;
}
var arr=[“一”、“二”、“三”、“四”、“五”];
//将运行的函数
//按一下按钮。
函数运行(){
var url1=“test.php?w1=“+arr;
var url2=“test1.php?w1=“+arr;
var url3=“test2.php?w1=“+arr;
url=[url1,url2,url3];
对于(变量i=0;i<3;i++){
xmlhttp[i].open(“GET”,url[i]);
xmlhttp[i].onreadystatechange=function(){
if(this.readyState==4){
document.write(this.responseText);
}
}
xmlhttp[i].send(空);
}
}
复杂解决方案:

在文档中使用4个iFrame。首先让它们显示无。然后单击按钮,在所有iFrame中打开url

<html>
    <head>
        <script type="text/javascript">
        var url     = new Array;

        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];

        // function which will run
        // on button click.
        function Run() {
            var url1 = "test.php?w1="  + arr;
            var url2 = "test1.php?w1=" + arr;
            var url3 = "test2.php?w1=" + arr;

            url = [url1, url2, url3];

            var iframes = document.getElementsByTagName("iframe");
            for (var i = 0; i < iframes.length; i++) {
                iframes[i].src = url[i];
            }
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />

        <iframe style='display:none;'></iframe>
        <iframe style='display:none;'></iframe>
        <iframe style='display:none;'></iframe>
    <body>
</html>

var url=新数组;
var arr=[“一”、“二”、“三”、“四”、“五”];
//将运行的函数
//按一下按钮。
函数运行(){
var url1=“test.php?w1=“+arr;
var url2=“test1.php?w1=“+arr;
var url3=“test2.php?w1=“+arr;
url=[url1,url2,url3];
var iframes=document.getElementsByTagName(“iframe”);
对于(var i=0;i
另一种方法:

在服务器中,您可以将其他2个文件包含到一个文件中。 这里我在test.php中包含了test1.php和test2.php

<?php
var_dump($_GET["w1"]);
include "test1.php";
include "test2.php";
?>

html:


var arr=[“一”、“二”、“三”、“四”、“五”];
//将运行的函数
//按一下按钮。
函数运行(){
window.location.href=“test.php?w1=“+arr;
}

请解释行more var a=[“一二三四五”];单击将位置发送到indexController.php,您可以在这里执行所需操作:| a是数组,元素为1、2、3。。使用Ajax发送请求怎么样?我对Ajax不太熟悉。这段代码是直接可执行的吗?你需要包括一个jquery库来使用我上面的代码,或者你也可以使用vanilla javascript到ajax,看看这篇文章中的两个例子:我检查了代码片段,如何检查php文件是否收到了数组?或者我应该像这样在php页面中使用这个方法:var_dump($_GET[“w1”])$x=$_GET[“w1”];使用ajax进行调试可能有点棘手,因为您看不到当前页面。相反,您可以看到一个输出。如果您查看了success:function(output)一行,您可以将该输出记录在console.log中查看。因此,在PHP中,您可以回显一个变量,并在输出中看到它。Javascript:data:{myTest:“hello”}键入:“post”。。。。然后在PHP端:$myTest=$\u POST['myTest']$myTest现在等于“hello”。如果您回显$myTest,那么在回调函数console.log(output)中,您应该在控制台中看到“hello”。
<?php
var_dump($_GET["w1"]);
include "test1.php";
include "test2.php";
?>
<html>
    <head>
        <script type="text/javascript">
        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];

        // function which will run
        // on button click.
        function Run() {
            window.location.href = "test.php?w1=" +arr;
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />

    <body>
</html>