MakeRequest不起作用

时间:2012-04-17 17:14:28

标签: javascript xmlhttprequest

我请求:

我收到了XML:

<?xml version="1.0" encoding="UTF-8"?>
<search>
<location id="18171" client_id="511">
<site>3</site>
.....

刷新浏览器后我收到:

<?xml version="1.0" encoding="UTF-8"?>
    </search>

仅当我关闭并打开浏览器时我才会收到

<?xml version="1.0" encoding="UTF-8"?>
    <search>
    <location id="18171" client_id="511">
    <site>3</site>

为什么呢?我不想每次都关闭并打开浏览器

谢谢

我的代码:

function makeRequestXML(url) {
    http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange = ContentsXML;
    http_request.open('GET', url, true);
    http_request.send(null);
}

function ContentsXML() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            number_checkbox = 0;
            var xmldoc = http_request.responseXML;

1 个答案:

答案 0 :(得分:0)

这是您要连接的服务器的问题。我不知道它正在做什么,或者你期望它做什么,但你的JS显然是在服务器上并且在所有情况下返回数据。如果你要找回不良数据,那不是你的JS的错误。

似乎服务器可能正在根据浏览器会话发送不同的数据,重新启动浏览器可能会重置该会话。