Скрипт формы и ajax перепутать - PullRequest
0 голосов
/ 22 августа 2011

У меня есть одна система чата на одной из моих страниц, которая использует ajax для автоматического обновления каждые 10 секунд. У меня также есть нормальная форма HTML. Запрос ajax отправляет файл с именем chatAjax.php, а форма отправляет данные на process.php

Если пользователь отправляет форму до запуска таймера, система работает нормально. Однако по какой-то причине, если пользователю требуется некоторое время для ввода данных, данные отправляются, а затем пользователь садится на chatAjax.php вместо того, чтобы вернуться на главную страницу. Я понятия не имею, что происходит, и process.php не имеет ссылок на chatAjax.php. Так почему же они заканчивают на chatAjax.php?

Вот скрипт ajax:

function refresh(){
        var ajaxRequest;

        try{
            // Opera 8.0+, Firefox, Safari
            ajaxRequest = new XMLHttpRequest();
        } catch (e){
            // Internet Explorer Browsers
            try{
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try{
                    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e){
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }
        ajaxRequest.onreadystatechange = function(){
            if(ajaxRequest.readyState == 4){
                document.getElementById("Chats").innerHTML= ajaxRequest.responseText;
            }
        }
        ajaxRequest.open("POST", "chatAjax.php", true);
        ajaxRequest.send(null);
        setTimeout("refresh()",10000);
    }

если вы хотите посмотреть дальше, просто перейдите на http://www.cogtek.co.cc/community.php (это главная страница, о которой я говорил)

1 Ответ

0 голосов
/ 23 августа 2011

Я разобрался в проблеме.

В моем скрипте process.php я записывал, с какой страницы я пришел, и затем возвращался на эту страницу. Кажется, что сценарий AJAX перезаписывает это, и сценарий заставит его перейти на неправильную страницу. Теперь я установил часть скрипта process.php, чтобы теперь он шел только по адресу community.php.

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