Электрически Стираемое Программируемое ЗУ, обобщенное в не энергозависимая память чтения-записи самый известный и повсеместный в настоящее время бывший Flash. http://en.wikipedia.org/wiki/EEPROM списки это как изобретаемое в 1984.
Путем предоставления носителю той же общей физики, требований к питанию, размера и устойчивости как блоки обработки мы удаляем это как ограничивающий фактор в проектах для того, куда мы помещаем процессоры. Это разворачивает возможности для того, как и куда мы помещаем 'аналитику' в такое изобилие интеллектуальных устройств (и вещи, которые ранее никогда не были бы кандидатами на то, чтобы быть рассмотренными умный вообще), что мы все еще подняты в скачке. MP3-плееры являются действительно просто частью этого.
Функция обратного вызова требуется для асинхронных вызовов функций, таких как запрос AJAX GET. Между вызовом функции get
и получением ответа существует задержка, которая может составлять миллисекунды или несколько минут, поэтому вам нужна функция обратного вызова, которая вызывается, когда асинхронный GET завершает свою работу.
Вот дополнительная информация о функции jQuery AJAX get
: http: // docs. jquery.com/Ajax/jQuery.get#urldatacallbacktype .
Из примеров jQuery:
// this would call the get function and just
// move on, doing nothing with the results
$.get("test.php");
// this would return the results of the get
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
Если вы получите undefined
при попытке использовать переменную data
в функцию обратного вызова, откройте консоль в Firebug в Firefox и посмотрите запрос get
. Вы можете увидеть необработанный запрос и ответ, с которым он возвращается. Вы должны лучше понять проблему, увидев, что отправляется на сервер и что отправляется обратно клиенту.
Цванхарен хорошо ответил на вопрос, но DCrawmer все еще не понял сути. Позвольте мне попытаться дать ему разъяснение. Я упрощаю некоторые из них и сглаживаю некоторые детали.
Посмотрите на код, показанный ниже. Это почти тот же код, что и у tsvanharen, за исключением того, что я заменил анонимную функцию для обратного вызова фактическим указателем на функцию и немного более явным, чтобы вы могли видеть, что происходит:
var x = null;
function myCallback(data)
{
alert("Data Loaded:" + data);
}
$.get("test.php", myCallback);
// the rest of your code
alert("The value of X is: " + x);
Предполагая, что test.php для загрузки требуется всего несколько секунд, обратите внимание на порядок, в котором, вероятно, появляются предупреждения:
1. "The value of X is"
2. "Data Loaded"
Функция $. get ()
выполняется мгновенно. JavaScript продолжает работу и сразу же запускает остальную часть вашего кода. В фоновом режиме он получает вашу страницу по адресу test.php. jQuery скрывает некоторые беспорядочные детали этого.
Функция обратного вызова (второй аргумент для $. Get ()
) выполняется позже ( асинхронно ). Или, говоря другими словами, функция myCallback
является обработчиком события. Это событие: « $. Get ()
завершил получение данных». До этого момента он не запускается. Он не запускается при выполнении $. Get ()
! $. Get ()
просто запоминает, где находится эта функция, на потом.
Функция myCallback
может запускаться через миллисекунды или минуты спустя долгое время после $. Get ()
.
Если myCallback
не запускается несколько минут спустя, то каково значение x при запуске кода «Значение X»? Это все еще ноль
. Это ваша ошибка .
Чтобы использовать данные, полученные со страницы в вашем скрипте, вы должны сделать что-то вроде этого:
$. Get ( )
с функцией обратного вызова для обработки возврата. Больше ничего не делать. [Или, по крайней мере, ничего, для чего требуются данные] Оставьте страницу там.
... когда-нибудь в будущем ...
X. Ваша функция обратного вызова будет запущена, и результаты будут отображаться на вашей веб-странице. Ваша функция обратного вызова может: * Отображение данных * Назначьте эти данные переменной * Вызов других функций * Продолжайте весело.
. Вам просто нужно указать функцию обратного вызова в параметре для получения метода. Ваши данные будут в переменной, которую вы укажете в функции.
$.get("output.csv", function(data) {
// Put your function code here, the 'data' variable will hold your data.
});
На самом деле в вашем примере данными будет объект запроса XMLHttpRequest.
var x;
$.get( 'output.csv', function(data){
x = data;
console.log(x); // will give you the contents.
});