[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax
7flash
Здравствуйте! Пытаюсь сделать, чтобы при нажатии на кнопку в область "info" загружалась определенная страница.

Без кнопки всё работает...

<script>

params = "url=yahoo.com"

request = new XMLHttpRequest()
request.open("POST", "urlpost.php", true)
request.setRequestHeader("Content-type",
"application/x-www-form-urlencoded")
request.setRequestHeader("Content-length", params.length)
request.setRequestHeader("Connection", "close")

request.onreadystatechange = function()
{
if (this.readyState == 4)
{
if (this.status == 200)
{
if (this.responseText != null)
{
document.getElementById('info').innerHTML =
this.responseText
}
else alert("Ajax error: No data received")
}
else alert( "Ajax error: " + this.statusText)
}
else
{
document.getElementById('info').innerHTML =
'Подождите, идет загрузка...'
}
}


request.send(params);

</
script>


urlpost.php

<?php

if (isset($_POST['url'])) {
echo file_get_contents($_POST['url']);
}

?>


Если поместить текст скрипта в функцию, почему-то не работает...

<input value="Голосовать!" onclick="loadpage()" type="button" /><p>


Пожалуйста, помогите найти ошибку.
Заранее спасибо!



Спустя 3 часа, 47 минут, 4 секунды (1.08.2012 - 23:30) bodja написал(а):
Цитата
Пожалуйста, помогите найти ошибку.

request.onreadystatechange вы описываете как конструктор класса,соответственно this выйдет из области видимости функции.
Короче замените this на request и будет вам счастье. biggrin.gif

Спустя 12 часов, 13 минут, 39 секунд (2.08.2012 - 11:44) 7flash написал(а):
bodja
Спасибо! smile.gif

Спустя 2 часа, 53 минуты, 17 секунд (2.08.2012 - 14:37) vagrand написал(а):
7flash

А вот вам более глобальный совет - юзайте библиотеку jQuery, весь ваш код заменяет одна строка:

$('info').load('some_url');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.