Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能得到双重Ajax请求?_Javascript_Xml_Ajax_Request - Fatal编程技术网

Javascript 我怎样才能得到双重Ajax请求?

Javascript 我怎样才能得到双重Ajax请求?,javascript,xml,ajax,request,Javascript,Xml,Ajax,Request,我有一个问题:我想要一个双重Ajax请求,但我不能。 例如,我有一个PHP页面(rand.PHP),它返回一个随机数。 代码: 在另一个页面中,我想创建一个Ajax请求,该请求从rand.php获取两次随机数,并将其写入不同的div中 <head> <script type="text/javascript"> http = new XMLHttpRequest; function rando(div){ http.onreadystatechange = funct

我有一个问题:我想要一个双重Ajax请求,但我不能。 例如,我有一个PHP页面(rand.PHP),它返回一个随机数。 代码:


在另一个页面中,我想创建一个Ajax请求,该请求从rand.php获取两次随机数,并将其写入不同的div中

<head>
<script type="text/javascript">
http = new XMLHttpRequest;
function rando(div){
http.onreadystatechange = function(){
    if (http.readyState == 4 && http.status == 200){
    document.getElementById(div).innerHTML = http.responseText;
        }
    }
    http.open("GET","rand.php",true);
    http.send();

}
</script>
</head>
<body>
<div id="div1"></div><br />
<div id="div2"></div><br />
<button onclick="rando('div1');rando('div2')">Randomize!</button>
</body>

http=新的XMLHttpRequest;
兰多职能(部门){
http.onreadystatechange=函数(){
如果(http.readyState==4&&http.status==200){
document.getElementById(div.innerHTML=http.responseText;
}
}
open(“GET”,“rand.php”,true);
http.send();
}


随机化!

它不起作用。请帮帮我

是的,正如其他人所指出的,您的
http
rando
的所有调用者之间共享。您应该在
rando
中创建一个新的


顺便说一句,这并不适用于所有浏览器。您需要在早期版本的Internet Explorer上创建不同类型的http请求对象。

每次要调用rand.php时,都必须初始化XMLHttpRequest:

<head>
<script type="text/javascript">
function rando(div)
{
    var http = new XMLHttpRequest;
    http.onreadystatechange = function()
    {
        if (http.readyState == 4 && http.status == 200) {
            document.getElementById(div).innerHTML = http.responseText;
        }
    }
    http.open("GET","rand.php",true);
    http.send();

}
</script>
</head>
<body>
<div id="div1"></div><br />
<div id="div2"></div><br />
<button onclick="rando('div1');rando('div2')">Randomize!</button>
</body>

兰多职能(部门)
{
var http=新的XMLHttpRequest;
http.onreadystatechange=函数()
{
如果(http.readyState==4&&http.status==200){
document.getElementById(div.innerHTML=http.responseText;
}
}
open(“GET”,“rand.php”,true);
http.send();
}


随机化!
您是否在任何地方初始化
http
?在您的代码中,http没有定义,因此当然“它不起作用”。OT:您也可以在JavaScript中生成随机数。我建议你在继续之前先看一看,你说不行。你能描述一下发生了什么吗?我和费利克斯在一起。您需要为每个请求将http对象初始化为新的AJAX请求对象。
<head>
<script type="text/javascript">
function rando(div)
{
    var http = new XMLHttpRequest;
    http.onreadystatechange = function()
    {
        if (http.readyState == 4 && http.status == 200) {
            document.getElementById(div).innerHTML = http.responseText;
        }
    }
    http.open("GET","rand.php",true);
    http.send();

}
</script>
</head>
<body>
<div id="div1"></div><br />
<div id="div2"></div><br />
<button onclick="rando('div1');rando('div2')">Randomize!</button>
</body>