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>