Быстрый вопрос о данных, возвращаемых вызовом jquery.ajax () (РЕДАКТИРОВАНИЕ) - PullRequest
2 голосов
/ 27 апреля 2010

РЕДАКТИРОВАТЬ: Первоначальная проблема была из-за глупой синтаксической ошибки где-то еще, которую я исправил У меня новая проблема, как описано ниже

У меня есть следующий вызов jquery.ajax:

$.ajax({
    type: 'GET',
    url: servicesUrl + "/" + ID + "/tasks",
    dataType: "xml",
    success : createTaskListTable
});

Функция createTaskListTable определяется как

function createTaskListTable(taskListXml) {
    $(taskListXml).find("Task").each(function(){  
        alert("Found task")     
    }); // each task
}

Проблема в том, что это не работает, я получаю сообщение о том, что taskListXml не определено. В документации JQuery говорится, что функции успеха получают три аргумента, первый из которых - данные.

Как я могу передать данные, возвращенные .ajax(), в мою функцию с именем переменной по своему выбору.

Моя проблема сейчас в том, что я получаю XML от предыдущего вызова ajax! Как это вообще возможно? Эта предыдущая функция определена как function convertServiceXmlDataToTable(xml), поэтому они не используют одно и то же имя переменной.

Совершенно смущен. Это какая-то проблема с кэшированием? Если так, как я могу очистить кеш браузера, чтобы избавиться от более раннего XML?

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 апреля 2010

Смотрите мой комментарий. Если вы используете IE, запросы GET AJAX кэшируются. jQuery может решить эту проблему за вас, добавив в запрос случайную переменную строки запроса. Просто измените свой AJAX-вызов на это:

$.ajax({
    type: 'GET',
    url: servicesUrl + "/" + ID + "/tasks",
    cache: false,
    dataType: "xml",
    success : createTaskListTable
});

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

0 голосов
/ 27 апреля 2010

Попробуйте определить свой обратный вызов, как показано ниже:

success: function createTaskListTable(data, textStatus, xhr) {
  console.dir(data, textStatus, xhr);
}

Если данные действительно возвращаются как нулевые, вы можете получить представление о других полях, особенно xhr.

Обратите внимание, что обратные вызовы ошибок вызываются с (xhr, textStatus, errorThrown).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...