Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: XMLHTTPRequest (i think it must be there...)
 
 автор: Whi-teOoS   (27.01.2007 в 19:17)   письмо автору
 
 

есть ф-я

function sendRequest(url,params,HttpMethod)
            {
                if (!HttpMethod)
                {
                    HttpMethod="GET";
                }
                MyRequest=initXMLHTTPRequest() ;
                if (MyRequest)
                {
                    MyRequest.onreadystatechange=onReadyState;
                    MyRequest.open(HttpMethod,url,true);
                    MyRequest.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
                    MyRequest.send(params);
                }
            }


Нужно отправить данные методом POST

соответственно пишу


sendRequest('<?echo mainpage;?>/Add.php',smth,"POST");


Сомнения в своей правоте =)

Как в Add.php получить доступ к тому что было отправлено? $_POST['smth'] isn't true...

need help

   
 
 автор: coloboc66   (27.01.2007 в 22:19)   письмо автору
 
   для: Whi-teOoS   (27.01.2007 в 19:17)
 

---------

   
 
 автор: Whi-teOoS   (28.01.2007 в 00:39)   письмо автору
 
   для: coloboc66   (27.01.2007 в 22:19)
 

пока пост набивал уже ответили)

   
 
 автор: Sergey89   (28.01.2007 в 00:34)   письмо автору
 
   для: Whi-teOoS   (27.01.2007 в 19:17)
 

sendRequest('<?echo mainpage;?>/Add.php', 'smth=Привет!',"POST");

   
 
 автор: Whi-teOoS   (28.01.2007 в 00:41)   письмо автору
 
   для: Sergey89   (28.01.2007 в 00:34)
 

Хммм... Спасибо)

   
 
 автор: coloboc66   (28.01.2007 в 11:27)   письмо автору
 
   для: Whi-teOoS   (28.01.2007 в 00:41)
 

sendRequest('<?echo mainpage;?>/Add.php', 'smth=Привет!',"POST");
<?echo mainpage;?> - вот это очень настораживает. Неужели работает?!
smth="Привет!" и переменную вот так надо определять, насколько я понимаю.

   
 
 автор: Whi-teOoS   (28.01.2007 в 14:17)   письмо автору
 
   для: coloboc66   (28.01.2007 в 11:27)
 

<?echo mainpage;?> работает, mainpage определена как константа.
По поводу переменной я делаю так

sendRequest('<?echo mainpage;?>/Chat/AddPost.php','post='+smth,'POST'); 

и потом

$_POST['post']


Собственно огромное спасибо что помогли с этим разобраться.

ПРавда теперь проблема в другом...

Я делаю так:

function RefreshPosts(refr)
{
    if (refr==false)
    {
        sendRequest('<?echo mainpage;?>/Chat/RefreshPosts.php');
    }
    else
    {
        sendRequest('<?echo mainpage;?>/Chat/RefreshPosts.php');
        setTimeout("RefreshPosts(true);",5000);
    }
            
}
function AddPost()
{
    smth = document.getElementById('_message_').value;
    sendRequest('<?echo mainpage;?>/Chat/AddPost.php','post='+smth,'POST');
    RefreshPosts(false);
}

приэтом получаю что после добовления поста, список постов обновляется, но последний непосредсвенно добавленный теряется.
ТОесть SELECT * FROM table не выводит последнюю запись (в RefreshPosts.php) до обновления страницы или автообновления содержимого, а страницу обновлять как-то неохота.
Я не думаю что это может быть в связи с инертностью БД...
Уже моск сломал в поисках причины...
Конечно это не критично

setTimeout("RefreshPosts();",5000);

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

Ну думаю раз начал вывалю все проблемы)
В ИЕ все это не работает просто. ТОесть загружаю страницу загружаются посты и все, новые в базу добавляются, но в браузер не выводятся, тоесть не работает запрос:

sendRequest('<?echo mainpage;?>/Chat/RefreshPosts.php');

хотя в исходнике HTML страницы вроде все нормально

sendRequest('http://192.168.102.31/Chat/RefreshPosts.php');

Что с этим делать вообще не пойму, что меня больше всего удивляет что при загрузке страницы в 1-й раз скрипт работает правильно а при обновлении 0 реакции... Обычно как-то либо все работает либо нет.
Инициализирую так, мож тут что не так? Хотя все правильно вроде... :
function initXMLHTTPRequest()
{
    var MyRequest=null;
    if (window.XMLHttpRequest)
    {
        MyRequest=new XMLHttpRequest();
    } 
    else if (window.ActiveXObject)
    {
        MyRequest=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return MyRequest;
}

   
 
 автор: Whi-teOoS   (10.02.2007 в 00:13)   письмо автору
 
   для: Whi-teOoS   (28.01.2007 в 14:17)
 

пардон что апаю, щас опять время появилось чтоб этим заняться, в упор не втыкаю почему под ие не пашет.

Нид хелп

   
 
 автор: coloboc66   (10.02.2007 в 11:27)   письмо автору
 
   для: Whi-teOoS   (10.02.2007 в 00:13)
 


sendRequest('http://192.168.102.31/Chat/RefreshPosts.php'); 

Есть большое подозрение, что ИЕ с аяксом запрещает работать с чужим хостом - в целях безопасности идет запрет на уровне броузера. Я уже с такой проблемой сталкивался. Тут ничего не сделаешь, если я не ошибаюсь.

   
 
 автор: Whi-teOoS   (10.02.2007 в 13:14)   письмо автору
 
   для: coloboc66   (10.02.2007 в 11:27)
 

тобишь олучается только допустим так?

sendRequest('./modules/Chat/RefreshPosts.php');

Тады все плохо) Нада будет знать положение скрипта в который делаю инклуд... легко конечно, но лишний гемор...

Вапще эт подозрительно, ибо с первым открытием браузера и заходом на страницу скрипт работает правильно, а потом скока не обновляй толку "0"... Это меня больше всего смущает... Обычно как-то не так)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования