Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.07.2015, 11:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

sash003,
Сообщение от рони
return _A_(kids) ;// подумай что делать если массив пустой
return kids.length ? _A_(kids) : false
и так везде
function _init_(el){ if (!el) return
Ответить с цитированием
  #12 (permalink)  
Старый 11.07.2015, 22:02
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Знаешь, оно просто ничего не делает когда не находит, возвращает предыдущий просто. боюся лезть чтото менять, хотя раз ты говоришь, сделаю
Ответить с цитированием
  #13 (permalink)  
Старый 11.07.2015, 22:29
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

рони,
Зацени

/* пишем аякс-функцию */
  function ajax(obj){
      
    try{var xhr = new XMLHttpRequest()
    } catch(e1){try{
        xhr = new ActiveXObject("Msxml2.XMLHTTP")
      } catch(e2){try{
          xhr = new ActiveXObject("Microsoft.XMLHTTP")
        } catch(e3){ xhr = false
        }
      }
    }
      obj.type = obj.type || "GET" ;
      if(obj.type === 'POST'){
          var params = '';
          for(i in obj.data){
          params += i + '=' + obj.data[i] + '&';
          }
          params = params.slice(0, -1);
          xhr.open("POST", obj.url, true);
          xhr.setRequestHeader("Content-type",
          "application/x-www-form-urlencoded");
          //xhr.setRequestHeader("Content-length", params.length);
          //xhr.setRequestHeader("Connection", "close");
          xhr.onreadystatechange = function() { 
          if(xhr.readyState == 4 && xhr.status == 200){
          obj.success(this['response' + obj.dataType]);
          }
          else console.log( "Ajax error: " + this.statusText);
          }
          xhr.send(params);
      }
      else if(obj.type === "GET"){
          var params = '?';
          for(i in obj.data){
              params += i + '=' + obj.data[i] + '&'
          }
          params = params.slice(0, -1);
          params += "&nocache=" + Math.random() * 1000000
          //console.log(params);
          xhr.open("GET", obj.url + params, true);
          xhr.onreadystatechange = function() { 
          if(this.readyState == 4 && this.status == 200){
          obj.success(this['response' + obj.dataType]);    
          }
          else console.log( "Ajax error: " + this.statusText)
          }
          xhr.send(null);
      }
      
  }
    
    ajax({
      url : './test_ajax.php',
      type: 'POST',
      dataType: 'Text',
      data: {name: 'sash', _data_ : 'true'},
      success: function(response){
          document.getElementById('response').innerHTML =
                response;
      }
  });
Ответить с цитированием
  #14 (permalink)  
Старый 11.07.2015, 22:45
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от sash003
Зацени
сойдет
Ответить с цитированием
  #15 (permalink)  
Старый 11.07.2015, 22:55
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

KosBeg, сенк ю
Теперь надо придумать как сделать чтобы можно было делать загрузку файлов как у Дениса на сайте http://incode.pro/jquery/ajax-na-pra...ka-fajlov.html
contentType: false, // важно - убираем форматирование данных по умолчанию
      processData: false, // важно - убираем преобразование строк по умолчанию
Сделать проверку на тип данных (обьехт, строка) и ещё подскаж что забыл
Ответить с цитированием
  #16 (permalink)  
Старый 12.07.2015, 19:12
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Полный вариант, не супер но сойдёт
function ajax(obj){
      
    try{var xhr = new XMLHttpRequest()
    } catch(e1){try{
       var xhr = new ActiveXObject("Msxml2.XMLHTTP")
      } catch(e2){try{
          var xhr = new ActiveXObject("Microsoft.XMLHTTP")
        } catch(e3){var xhr = false
        }
      }
    }
      obj.type = obj.type || "GET" ;
      if(obj.type === 'POST'){
          xhr.open("POST", obj.url, true);
          var params = '';
          if (typeof obj.data === 'string')
          params = obj.data;
          else if(typeof obj.data === 'object'){
              
              if(obj.contentType === false){
                 params = obj.data;
                 console.log(params); 
              }
          else{   
          for(var i in obj.data){
          params += i + '=' + obj.data[i] + '&';
          }
          params = params.slice(0, -1);
          console.log(params)
          xhr.setRequestHeader("Content-type",
          "application/x-www-form-urlencoded");   
          }
          xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");     }
          xhr.onreadystatechange = function() { 
          if(xhr.readyState == 4 && xhr.status == 200){
          obj.success(this['response' + obj.dataType]);
          }
          else console.log( "Ajax error: " + this.statusText);
          }
          xhr.send(params);
      }
      else if(obj.type === "GET"){
          var params = '?';
          if (typeof obj.data === 'string')
          params += obj.data;
          else if(typeof obj.data === 'object'){
           for(var i in obj.data){
              params += i + '=' + encodeURIComponent(obj.data[i]) + '&'
          }
          params = params.slice(0, -1);
          params += "&nocache=" + Math.random() * 1000000;   
          }
          xhr.open("GET", obj.url + params, true);
          xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
          xhr.onreadystatechange = function() { 
          if(this.readyState == 4 && this.status == 200){
          obj.success(this['response' + obj.dataType]);    
          }
          else console.log( "Ajax error: " + this.statusText)
          }
          xhr.send(null);
      }
  }

document.forms.f1.onsubmit = function(e){
      e.preventDefault();
      var formObj = {};
      var elem = document.forms.f1;
      var inputs = elem.querySelectorAll('[name]');
      for(var i = 0; i < inputs.length; i++){
      formObj[inputs[i].name] = inputs[i].value;
      if(window.FormData) {
      var formData = new FormData(document.forms.f1);     
      } 
      }
      // попытка отправки 
      ajax({
      url : './test_ajax.php',
      type: 'POST',
      dataType: 'Text',
      contentType : false,
      data:formData,//{text: document.querySelector('[name=text]').value, _data_ : 'true'},
      success: function(response){
          document.getElementById('response').innerHTML =
                response;
      }
  });
    }
Ответить с цитированием
  #17 (permalink)  
Старый 12.07.2015, 19:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Если есть свой ресурс с доступом к PHP, нарисовать простенький проксер GET запросов и дополнить либу кроссдоменным GET - Аяксом, часто востребовано. К примеру поиск картинок в гугле, или чтение RSS с ресурсов
Ответить с цитированием
  #18 (permalink)  
Старый 12.07.2015, 19:45
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от Deff
Если есть свой ресурс с доступом к PHP
как вариант - бесплатный хостинг от beget.ru ,
как на бесплатный хостинг - очень даже неплохо,
или например это - http://aws.amazon.com/ru/free/
Сообщение от Deff
нарисовать простенький проксер GET запросов
а как сделать? при помощи cURL?
Сообщение от Deff
часто востребовано
часто, не часто - но нужно
Ответить с цитированием
  #19 (permalink)  
Старый 13.07.2015, 01:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

KosBeg,
Я давно с PHP не баловался, помню только фичу, что нун трансформировать(через PHP) полученный прокси-запросом код страницы(Если он HTML) в UTF-8, если исходный в windows-1251, остальное вроде как в пяток строк.
Начни с гугла, типо: - простое проксирование GET-запросов на PHP

Последний раз редактировалось Deff, 13.07.2015 в 01:43.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вернуть div и все вложенные в него элементы в первоначальное состояние? lucky89 Общие вопросы Javascript 17 26.02.2015 18:41
как программно масштабировать элементы DOM ? Dabonirc Общие вопросы Javascript 4 27.08.2014 19:01
js-фреймворк, связывающий css классы и dom элементы Danxil Оффтопик 12 30.03.2014 18:41
инициализация плагинов до вставки html-я в DOM FanAizu jQuery 3 19.01.2014 01:16
Обернуть все элементы, до определённого элемента dom majahead jQuery 6 30.03.2011 18:15