Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2012, 22:48
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

Дождаться данных от JSONP
Привет.
Есть js скрипт, в нем используется переменная, например, variable.
Сейчас, я делаю что-то типа

var variable = 'default' // глобальная

function x(data) {variable = data;}

var a = document.createElement('script');
a.type = 'text/javascript';
a.setAttribute('src','url-to-serv');
document.head.appendChild(a);

// Дальше другой код, где используется переменная variable

Иногда получается, что переменная не успевает переопределиться через функцию и остается со значением default

Как я могу переопределить эту переменную через данные сервера с помощью JSONP, до выполнения кода?
Еще было бы хорошо оставить переменную дефолтной, если сервер не ответил за некоторое время.
Фреймворки не приветствуются.

Буду рад любой помощи.
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2012, 23:43
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от leosert
Иногда получается, что переменная не успевает переопределиться через функцию и остается со значением default
Сообщение от leosert
Как я могу переопределить эту переменную через данные сервера с помощью JSONP, до выполнения кода?
только строя цепочку. пришел ответ и только после этого запрос. Не ну конечно можно в приходящем ответе проверять , если не установлена , то проверь через время и если стоит выполни код http://javascript.ru/setTimeout -изврат
function x(data) {
  variable = data;
  var a = document.createElement('script');
  a.type = 'text/javascript';
  a.src=url-to-serv;
  document.head[0].appendChild(a);
  a.onload=function(){...};
  a.onerror=function(){...};
}

Сообщение от leosert
если сервер не ответил за некоторое время.
а ситуации ответил ошибкой значит не интересуют?

Последний раз редактировалось dmitriymar, 20.12.2012 в 23:55.
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2012, 11:32
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от leosert Посмотреть сообщение
var variable = 'default' // глобальная

function x(data) {variable = data;}

var a = document.createElement('script');
a.type = 'text/javascript';
a.setAttribute('src','url-to-serv');
document.head.appendChild(a);

// Дальше другой код, где используется переменная variable

Иногда получается, что переменная не успевает переопределиться через функцию и остается со значением default
что-то я не вижу чтобы функция x вызывалась
с чего вдруг значение переменной variable будет меняться-то?
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2012, 21:40
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

keen,
Функция x вызывается в ответе сервера после document.head.appendChild(a);
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2012, 00:36
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от leosert
Функция x вызывается в ответе сервера после document.head.appendChild(a);
и ??? выводы сами для себя сделайте. ну вызвалась ,а ответ ещё не пришел-это асинхрон

Последний раз редактировалось dmitriymar, 23.12.2012 в 00:52.
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2012, 00:42
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

dmitriymar,
я отвечал товарищу keen.
Ваш ответ я прекрасно понял и учел в своем коде. Кстати, спасибо за onload и onerror. Я совсем забыл, что так можно сделать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jSONP отправка и получение (в зависимости от критерия) данных nvp2 jQuery 13 31.10.2012 15:39
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Изменение окраски строк таблицы, исходя из данных? Space-06 Events/DOM/Window 4 14.02.2012 21:32
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57