Ajax callback

Aici postaţi orice este legat de tehnologiile "client side". HTML, HTML5, XHTML, CSS, CSS3, XML, Standarde
Manual JS: http://www.phpromania.net/jsmanual/index.html

Moderatori: eyecon, Moderatori

danutz0501
Average Member
Mesaje: 104
Membru din: Vin Sep 10, 2010 7:43 pm

Ajax callback

Mesajde danutz0501 » Sâm Iun 21, 2014 3:07 pm

Salut. AM si eu o problema cu aplicarea unui callback.

Cod: Selectaţi tot

ajax : {
                load : function(method, url, callback, data){
                        var xhr = new XMLHttpRequest();
                        xhr.open(method, url, true);
                        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                        if(xhr.readyState == 4 && xhr.status == 200){
                                callback(xhr);
                        }
                        xhr.send(data);
                }
        }


Asta e functia pt ajax, si asa ma chinui sa o apelez

Cod: Selectaţi tot

function sendAjax(e){
                        var url = 'http://localhost/sites/testeDart/ajax/test.php';
                        var value = document.querySelector('#textu').value;
                        var data = 'val='+value;
                        system.ajax.load('post',url,function(xhr){
                                document.querySelector('#response').innerHTML = xhr.responseText;
                        },data);
                }

Chestia ciudata pt mine e ca requestul ajax se face, primesc raspunsul dorit(daca ma uit firebug), dar cand incerc sa aplic callback-ul(o functie anonima) nu se intampla nimic.
Normal ar fi trebuit ca textul(html-ul) din div-ul response sa afiseze raspunsul ajax. Unde gresesc?



MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Re: Ajax callback

Mesajde MarPlo » Lun Iun 23, 2014 6:44 pm

Salut
Incearca sa pui: xhr.send(data); inainte de if().

Cod: Selectaţi tot

xhr.send(data);
if(xhr.readyState == 4 && xhr.status == 200){
  callback(xhr);
}

danutz0501
Average Member
Mesaje: 104
Membru din: Vin Sep 10, 2010 7:43 pm

Re: Ajax callback

Mesajde danutz0501 » Lun Iun 23, 2014 6:56 pm

Ms, uitasem de subiectul asta. Adica am uitat sa zic ca am rezolvat, ma ajutat cineva.
Uitasem,

Cod: Selectaţi tot

xhr.onreadystatechange = function() {...}

sa verific eventul onreadystatechange.
Codul functional arata asa

Cod: Selectaţi tot

ajax : {
        load : function(method, url, callback, data){
            var xhr = new XMLHttpRequest();
            xhr.open(method, url, true);
            xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4 && xhr.status == 200){
                    callback(xhr);
                }
            }
            xhr.send(data);
        }
    }
si apel catre el
 function sendAjax(e){
            var url = 'http://localhost/sites/testeDart/ajax/test.php';
            var value = document.querySelector('#textu').value;
            var data = 'val='+value;
            system.ajax.load('post',url,function(xhr){
                document.querySelector('#response').innerHTML = xhr.responseText;
            },data);
        }

Functioneaza perfect, chiar daca nu are error handling etc. Ms frumos inca odata.


Înapoi la “HTML/JavaScript/CSS”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 23 vizitatori