Javascript obiekty

Odpowiedz Nowy wątek
john_zuk
2011-09-20 18:53
john_zuk
0

Piszę sobie skrypt do wysyłania żądań ajaxem i nie mam pojęcia dlaczego ale coś nie działa jak powinno:

 var miniajax =
{
request : function()
    {
            var newquest =
            {
            ajax_obj : null,
            response : null,
            Loading : function() {},
            Loaded : function() {},
            Int: function(){},
            Complete: function() {},
            Success : function() {},
            Error : function() {},

            send:function (adress,divid)
            {
                if (window.XMLHttpRequest)
                    {
                    this.ajax_obj = new XMLHttpRequest();
                    }
                else if (window.ActiveXObject)
                    {
                    this.ajax_obj = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                this.ajax_obj.open("GET", adress);

                this.ajax_obj.onreadystatechange = function()
                {
                    switch(this.ajax_obj.readyState)
                    {
                        case 1:
                            this.Loading();
                            break;
                        case 2:
                            this.Loaded();
                            break;
                        case 3:
                            this.Int();
                            break;
                        case 4:
                            this.Complete();
                            if(this.ajax_obj.status == 200)
                            {
                            this.response = this.ajax_obj.responseText;
                            if(divid){
                            document.getElementById(divid).innerHTML = this.ajax_obj.responseText;}
                            this.Success();
                            }
                            else
                            this.Error(this.ajax_obj.status);

                            break;
                    }
                }
            }
        }
        return newquest;
    }

};

Założenie jest takie że wywołuje żadanie tak:

 var req = miniajax.request();
  req.Success = function() {
        alert('dd');
    }
    req.send("index.html", "odpowiedz");
}

I niestety ale nie działa nie wiem dlaczego? Co jest pochrzanione?

Pozostało 580 znaków

2011-09-20 19:18
Moderator

Rejestracja: 12 lat temu

Ostatnio: 3 godziny temu

Lokalizacja: Wrocław

0

1.Jaki serwer (WAMP, EasyPHP; czysto informacyjnie ;))?
2.Jaka przeglądarka?
3.Co wywala konsola JS?


Pozostało 580 znaków

john_zuk
2011-09-20 21:35
john_zuk
0

1.LAMP
2.firefox 6
3.problem w ty ze nic nie wywala

Pozostało 580 znaków

2011-09-20 22:16

Rejestracja: 12 lat temu

Ostatnio: 8 miesięcy temu

0

Gdzie robisz send() na obiekcie XMLHttpRequest?


Women were the reason I became a monk - and, ah, the reason I switched back...

Pozostało 580 znaków

john_zuk
2011-09-20 22:30
john_zuk
0

O kurde... głupi błąd... tylko jeszcze jedno pytanie jak mam fragment:

switch(this.ajax_obj.readyState)

to tam pojawia mi się błąd przez to "this" bo on już nie odwołuje się do wczesniej utworzonego obiektu ajax_obj jak to ominąć?

Pozostało 580 znaków

2011-09-20 22:47

Rejestracja: 9 lat temu

Ostatnio: 6 lat temu

0
john_zuk napisał(a)

O kurde... głupi błąd... tylko jeszcze jedno pytanie jak mam fragment:

switch(this.ajax_obj.readyState)

to tam pojawia mi się błąd przez to "this" bo on już nie odwołuje się do wczesniej utworzonego obiektu ajax_obj jak to ominąć?
zapisujesz obiekt pod jakąś zmienną i się do niej odwołujesz.

Pozostało 580 znaków

john_zuk
2011-09-20 23:56
john_zuk
0

Dzięki wszystkim za pomoc. Temat można zamknąć.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0