Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проверка присвоения значений переменной через $.ajax (https://javascript.ru/forum/events/39683-proverka-prisvoeniya-znachenijj-peremennojj-cherez-%24-ajax.html)

lekba 08.07.2013 11:20

Проверка присвоения значений переменной через $.ajax
 
есть функция, запроса данных со стороннего сервера
function getValue(){
	$.ajax({
		url: 'http://www.url.com/vars.js',
		dataType: 'script',
		timeout: '5000',
	});
}


файл vars.js содержит одну переменную vars:
var vars = {
	"log":{
		"var1":"...text...",
		"var2":"...text...",
		"var3":"...text..."
	}
};


хотелось бы через JQuery знать, что переменная загрузилась, однако это не срабатывает при длительном ответе сервера www.url.com
$(document).ready(function(){
alert(vars);
});


также надо делать запрос getValue() (например, по клику) и "обновление" переменной vars новыми значениями

как проверить, что переменная vars загрузилась и "свежая"?

skrudjmakdak 08.07.2013 11:57

а просто подключить статически, такой вариант не рассматривается??
<script type="text/javascript" src="http://www.url.com/vars.js"></script>

lekba 08.07.2013 15:54

данные в src="http://www.url.com/vars.js" меняются ежесекундно, аяксом я их пытаюсь обновлять на своей страничке раз в несколько минут или по определенному событию, каждый раз рефрешить всю страницу не вариант...

skrudjmakdak 08.07.2013 16:02

а у вас хоть раз получалось взять ответ с другого домена???.. вообще браузер запрещает делать аякс запросы на другой домен

lekba 08.07.2013 16:25

Цитата:

Сообщение от skrudjmakdak (Сообщение 261025)
а у вас хоть раз получалось взять ответ с другого домена???.. вообще браузер запрещает делать аякс запросы на другой домен

честно говоря, я только под тремя браузерами проверил и у меня сработало, первый попавшийся скрипт взял тут http://www.kelvinluck.com/assets/jqu...pts/date_de.js
вот пример:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta charset="utf-8" /><title></title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div id="test"></div>
<script>
function getValue(){
	$.ajax({
		url: 'http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/scripts/date_de.js',
		dataType: 'script',
		timeout: '5000',
	});
}
getValue();
$(document).ready(function(){
	$("#test").html("click tut");
	$("#test").click(function(){
		alert(Date.dayNames);
		alert(Date.format);
    });
});
</script>
</body>
</html>

vadim5june 08.07.2013 16:27

а так если сделаете
function getValue(){
	$.ajax({
		url: 'http://www.url.com/vars.js',
		dataType: 'script',
		timeout: '5000',
	}).done(function(data){alert(data)});
}

lekba 08.07.2013 17:08

спасибо, помогло разобраться и реализовать задуманный функционал!


Часовой пояс GMT +3, время: 00:47.