Как отобразить ответ AJAX в оповещении

#javascript #ajax

#javascript #ajax

Вопрос:

Это мой код, в котором я в настоящее время показываю ответ на запрос AJAX в innerHTML элементе, но вместо этого я хочу получить alert результат ответа. Как я могу это сделать?

 function checkforsampleAdded(){
    var ajaxRequest;  // The variable that makes Ajax possible!

    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;
            }
        }
    }

    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function() {
        if (ajaxRequest.readyState == 4) {
            var ajaxDisplay = document.getElementById('school_name');
            ajaxDisplay.innerHTML = ajaxRequest.responseText;
        }
    }

    var status = document.getElementById('teststatus').value;
    var tstid = document.getElementById('tstid').value;

    ajaxRequest.open("GET", "<?php echo base_url();?>Test/CheckForSampleAdded/"   tstid, true);
    ajaxRequest.send(); 
}
  

Комментарии:

1. Итак, измените строку, которая устанавливает значение innerHTML alert() …? Также ваш вопрос не имеет ничего общего с jQuery или codeigniter, поэтому я удалил эти теги

Ответ №1:

Помимо проверки readyState, я бы рекомендовал вам также проверить статус на 200

Вот обновленный код

 ajaxRequest.onreadystatechange = function() {
        if (ajaxRequest.readyState == 4 amp;amp; ajaxRequest.status == 200) {
            var ajaxDisplay = document.getElementById('school_name');
            ajaxDisplay.innerHTML = ajaxRequest.responseText;
            alert(ajaxRequest.responseText); // alert the data
        }
    }
  

Комментарии:

1. спасибо, это сработало для меня. еще одна вещь, если ajaxRequest.responseTest emplty не предупреждает.