Как я могу получить содержимое AJAX в глобальной переменной JavaScript - PullRequest
1 голос
/ 11 февраля 2011

Я хочу поместить содержимое в глобально определенную переменную javascript. Содержимое, которое я получил с помощью вызова ajax.

http://pastebin.com/TqiJx3PA

спасибо за любые предложения

1 Ответ

2 голосов
/ 11 февраля 2011

Код для вставки уже делает это.Я предполагаю, что проблема, с которой вы на самом деле сталкиваетесь, существует, потому что ваш вызов ajax асинхронный , что означает, что вы делаете запрос ajax (асинхронно) и сразу пытаетесь получить доступ к значению в глобальномпеременная, но она еще не установлена.

Решение этой проблемы - выполнить ваш пост-ajax-код в onReadyStateChange обратном вызове.

function handleResponse(result_cont) {
    // your result_cont processing code here
}

ajax(handleResponse);

function ajax(callback) {
    var xmlHttp;
    try { // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.responseText != "") {
                result_cont = xmlHttp.responseText
                alert(result_cont);

                // ############# here's the important change #############
                // execute the provided callback
                callback(result_cont);
            }
        }
    }
    xmlHttp.open("GET", "contentdetails.php?cid=1", true);
    xmlHttp.send(null);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...