проблема с запросом AJAX - PullRequest
       1

проблема с запросом AJAX

0 голосов
/ 28 октября 2010

Я создал запрос XMLHttpRequest ajax для двухстороннего получения данных,

- вот код

var XMLHttpReq;

функция createXMLHttpRequest () {if (window.XMLHttpRequest) {XMLHttpReq = newXMLHttpRequest ();} else {if (window.ActiveXObject) {try {if (XMLHttpReq == null) XMLHttpReq = new ActiveXObject ("Msxml2.XMLHTTP");

        }
        catch (e) {
            try {
                if(XMLHttpReq==null)
                XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
            }
        }
    }
}

}

этометод, который отправляет запрос

function personList(person) {

createXMLHttpRequest();
var url="query?option=person&userName="+person.innerHTML;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange =personListResponse;
XMLHttpReq.send(null); 
}

function personListResponse() {
if (XMLHttpReq.readyState == 4) { 
    if (XMLHttpReq.status == 200) {
    var xml=XMLHttpReq.responseXML;
    }
}

}

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

1 Ответ

1 голос
/ 28 октября 2010

Полагаю, это кеш.Попробуйте добавить это до запроса:

XMLHttpReq.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
XMLHttpReq.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
XMLHttpReq.setRequestHeader("Pragma", "no-cache");

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

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