Присвоить jQuery.get () к переменной?

Электрически Стираемое Программируемое ЗУ, обобщенное в не энергозависимая память чтения-записи самый известный и повсеместный в настоящее время бывший Flash. http://en.wikipedia.org/wiki/EEPROM списки это как изобретаемое в 1984.

Путем предоставления носителю той же общей физики, требований к питанию, размера и устойчивости как блоки обработки мы удаляем это как ограничивающий фактор в проектах для того, куда мы помещаем процессоры. Это разворачивает возможности для того, как и куда мы помещаем 'аналитику' в такое изобилие интеллектуальных устройств (и вещи, которые ранее никогда не были бы кандидатами на то, чтобы быть рассмотренными умный вообще), что мы все еще подняты в скачке. MP3-плееры являются действительно просто частью этого.

9
задан 7 August 2009 в 14:29
поделиться

4 ответа

Функция обратного вызова требуется для асинхронных вызовов функций, таких как запрос 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 . Вы можете увидеть необработанный запрос и ответ, с которым он возвращается. Вы должны лучше понять проблему, увидев, что отправляется на сервер и что отправляется обратно клиенту.

Вы можете увидеть необработанный запрос и ответ, с которым он возвращается. Вы должны лучше понять проблему, увидев, что отправляется на сервер, а что - обратно клиенту.

Вы можете увидеть необработанный запрос и ответ, с которым он возвращается. Вы должны лучше понять проблему, увидев, что отправляется на сервер и что отправляется обратно клиенту.

8
ответ дан 4 December 2019 в 11:07
поделиться

Цванхарен хорошо ответил на вопрос, но 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»? Это все еще ноль . Это ваша ошибка .

Чтобы использовать данные, полученные со страницы в вашем скрипте, вы должны сделать что-то вроде этого:

  1. Запустите ваш скрипт, объявите вашу переменную для хранения данных.
  2. Вызов $. Get ( ) с функцией обратного вызова для обработки возврата.
  3. Больше ничего не делать. [Или, по крайней мере, ничего, для чего требуются данные] Оставьте страницу там.

    ... когда-нибудь в будущем ...

    X. Ваша функция обратного вызова будет запущена, и результаты будут отображаться на вашей веб-странице. Ваша функция обратного вызова может: * Отображение данных * Назначьте эти данные переменной * Вызов других функций * Продолжайте весело.

3
ответ дан 4 December 2019 в 11:07
поделиться

. Вам просто нужно указать функцию обратного вызова в параметре для получения метода. Ваши данные будут в переменной, которую вы укажете в функции.

$.get("output.csv", function(data) {
    // Put your function code here, the 'data' variable will hold your data.
});
1
ответ дан 4 December 2019 в 11:07
поделиться

На самом деле в вашем примере данными будет объект запроса XMLHttpRequest.

var x;
$.get( 'output.csv', function(data){
    x = data;
    console.log(x); // will give you the contents.
});
3
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: