<script> var main_namespace = { ajax: function(){ this.name = null; this.pytania_array = null; this.wyniki_array = null; this.pobierz_dane = function(){ alert('n1'+this.name); $.ajax({ url: "ajax.php", type: "POST", data: { name: this.name, akcja: 'pobierz' }, success: function(result){ alert('n2'+this.name); return JSON.parse(result); } }); } } } $(document).ready(function(){ ajax = new main_namespace.ajax(); ajax.name = $('#mcreate_quiz').attr('name'); ajax.pobierz_dane(); }); </script>
Będąc w funkcji zwracającej wynik z ajaxa jak mogę wyświetlić lub zmienić właściwość obiektu ajax ? dokładnie chodzi o tą linijke -> alert('n2'+this.name); w odpowiedzi dostaje undefined bo js pewnie myśli że chodzi o właściwość funkcji pobierz_dane a przecież chodzi o właściwośc funkcji wyżej.
Druga sprarawa, jak korzystając z przestrzeni nazw poprawnie stworzyć obiekt ajax i wywołać jego metodę pobierz_dane ? w mojej przestrzeni nazw stworzyć jakąś funkcję init() którą będę wywoływał po wczytaniu wszystkich elementów strony i w niej dopiero tworzyć obiekt ajax ?
Kod będę uruchamiał dołączając ten plik na stronie której struktury nigdy nie znam, nie chciałbym nadpisać czyiś zmiennych itp. dlatego chce wykorzystać przestrzenie nazw.