Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.05.2010, 10:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от micscr
эта ниша уже занята.
Когда Гугл начинал, ниша поиска тоже была занята. Когда Яндекс начинал, она тоже была занята.

Мне вот интересно, почему на такие вещи все так реагируют, как будто их заставляют этот очередной велосипед использовать? Видишь недостатки -- покажи, достоинства -- похвали, не нужен он тебе -- ну иди мимо.
Ответить с цитированием
  #12 (permalink)  
Старый 21.05.2010, 10:12
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Вот, что получилось

Js.extend(Js,{
	ajax : function(param){					
				var xhr,
				url = param.url,
				method = param.method || 'GET',
				data = param.data || null,
				async = (param.async==undefined)?true:param.async,
				complete = param.complete;
				if(window.ActiveXObject){xhr=new ActiveXObject("Microsoft.XMLHTTP");}
				else if(window.XMLHttpRequest) {xhr=new XMLHttpRequest();}
				else {alert('Видимо в вашем браузере не поддреживается ajax');}
				xhr.onreadystatechange = function(){
					if(xhr.readyState != 4 || xhr.readyState==0){/*Loading*/;}
					if(xhr.readyState == 4){
						if(xhr.status == 200){/*Пришёл ответ*/if(complete){complete();}}
						else{elem.html("Error: returned status code " + xhr.status + " " + xhr.statusText);}
					}
				};
				if(method=='GET') {xhr.open(method, url, async);xhr.send(data);}
				else{
					xhr.open(method, url, async);
					xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
					xhr.send(data);
				}
				return xhr;
			}
});

Я просто не пойму как же реализовать, чтобы можно было передать в этот запрос что делать когда всё загрузиться. Ведь надо будет получить
данные запроса, а как их получить если они внутри?
Их же надо прописать в вызываемой функции.
Т.е.
$.ajax({url:'index.php',complete:function(xhr){
         if(xhr.responseText=='YES'){alert('YES');}
         else if(xhr.responseText=='NO') {alert('NO');}
         else {alert('Какие-то не те данные');}
}};

Но вот как в JQuery передаётся информация внутрь функции я не пойму.

JQuery пример
$.ajax({
    url: '/ajax/example.html',             // указываем URL и
    dataType : "json",                     // тип загружаемых данных
    success: function (data, textStatus) { // вешаем свой обработчик на функцию success
        $.each(data, function(i, val) {    // обрабатываем полученные данные
            /* ... */
        });
    }
});

Вот как туда попадаёт data, если
function success() {
            // If a local callback was specified, fire it and pass it the data
            if ( s.success ) {
                s.success.call( callbackContext, data, status, xhr );
            }
 
            // Fire the global callback
            if ( s.global ) {
                trigger( "ajaxSuccess", [xhr, s] );
            }
        }

Нету переменных, или я чего не пойму.

Последний раз редактировалось mycoding, 21.05.2010 в 10:21.
Ответить с цитированием
  #13 (permalink)  
Старый 21.05.2010, 10:25
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Сообщение от mycoding Посмотреть сообщение
http://javascript.ru/blog/mycoding/Pishem-svoj-jquery
Это моя курсовая просто да и интересно тоже.
Ну, курсовая тогда понятно. Кто то минусов тебе туда накидал. Может нужно не Пишем свой jQuery, а Пишем свой js-фреймворк ?
Ответить с цитированием
  #14 (permalink)  
Старый 21.05.2010, 10:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от mycoding
if(xhr.status == 200){/*Пришёл ответ*/if(complete){complete();}}
if(xhr.status == 200){/*Пришёл ответ*/if(complete){complete(*!*xhr.responseText*/!*);}}
Ответить с цитированием
  #15 (permalink)  
Старый 21.05.2010, 10:57
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Заработало
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Проблема с AJAX запросом + mod_rewrite BrokenEye AJAX и COMET 1 12.07.2009 02:08
AJAX, вызов из метода обьекта Logo Общие вопросы Javascript 4 20.06.2009 23:35
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12