Показать сообщение отдельно
  #3 (permalink)  
Старый 09.07.2013, 15:35
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

для асинхронной отправки запроса можно использовать такой вариант

window.Callbacks = {};

function Script(url, callback) {
    
   var performed = false,
       _Fname =  String(Math.random()).slice(2);
   
    url += (~url.indexOf('?') ? '&': '?') + 'callback=Callbacks["'+_Fname+'"]';

    Callbacks[_Fname] = function(data) {

      performed = true;
      
      delete Callbacks[_Fname];

      callback(false, data);

      script.parentNode.removeChild(script);
    }; 


    function onScriptLoad () {

      if(performed) 
           return;

      delete Callbacks[_Fname];  

      callback(true);

      script.parentNode.removeChild(script);
    }
    
    var script = document.createElement('script');
    
    script.onload = script.onerror = onScriptLoad;
  

    script.onreadystatechange = function() {   

    if (this.readyState == 'complete' || this.readyState == 'loaded'){  

      this.onreadystatechange = null;  
      
      setTimeout(onScriptLoad, 0);

    }

    }
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием