создавая всплывающее окно, используя только AJAX - PullRequest
0 голосов
/ 03 мая 2011

Я хочу создать всплывающую форму редактирования, используя только ajax. Т.е. когда пользователь нажимает на ссылку, появляется всплывающее окно, он редактирует данные и сохраняет их. Могу ли я сделать это без каких-либо рамок AJAX?

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Да, вы можете, вы всегда можете создавать XMLHttpRequest объекты самостоятельно, но использование инфраструктуры сэкономит вам часы или дни кодирования и обеспечит максимальную совместимость вашего браузера с вашим сервисом.

0 голосов
/ 03 мая 2011

Да, вы можете использовать следующую функцию, которую я написал и несколько недель оптимизировал.

function ajaxGET(url,span_or_div) {

    var httpRequest;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/plain');
        }
    } 
    else if (window.ActiveXObject) { // IE ( yeah 200bytes wasted because of IE.. lol
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (e) {
                       try {
                            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                           } 
                         catch (e) {}
                      }
            }
    if (!httpRequest) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    httpRequest.onreadystatechange = function() { 

         if (httpRequest.readyState == 1) {
            window.document.getElementById(span_or_div).innerHTML='Loading...'; 
         }
         if (httpRequest.readyState == 4) {
             if (httpRequest.status == 200) {
                 document.getElementById(span_or_div).innerHTML=(httpRequest.responseText);
             } else {
                 window.document.getElementById(span_or_div).innerHTML='<strong>Error 404</strong><br />Page Not Found.';
             }
         }
};
    httpRequest.open('GET', url, true);
    httpRequest.send('');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...