Как я могу получить двойной запрос Ajax? - PullRequest
0 голосов
/ 27 марта 2012

У меня проблема: я хотел бы получить двойной запрос Ajax, но не могу.Например, у меня есть страница на PHP (rand.php), которая возвращает случайное число.Код:

<?php
$rand = rand(0,10);
echo $rand;
?>

На другой странице я хочу создать 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>

Это нене работаетПомогите мне, пожалуйста!

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Вы должны инициализировать XMLHttpRequest каждый раз, когда хотите вызвать rand.php:

<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>
0 голосов
/ 27 марта 2012

Да, как уже отмечали другие, ваш http распределяется между всеми абонентами на rando.Вы должны создать новый внутри rando.

В качестве отступления, он не будет работать во всех браузерах.Вам необходимо создать другой тип объекта http-запроса в ранних версиях Internet Explorer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...