Возврат данных с использованием ColdFusion и jQuery Ajax - PullRequest
1 голос
/ 28 января 2011

Я делаю запрос к файлу cfc, который запрашивает базу данных.Хранить ли эти результаты в структуре, массиве или каким-либо другим способом?И в зависимости от того, как я храню и возвращаю результаты, как мне обрабатывать фрагменты из jQuery?Я попытался сохранить результаты в массиве и показать только один из результатов, например, который не работал:

$.ajax({
    type: "POST",
    url: "/ajax/ajax_test.cfc?method=ajaxTest",
    data:"field1=17",
    success: function(response) {
    var r=response;
    $(".cat_vid_subContainer").empty();
    $(".cat_vid_subContainer").html(r.DATA[2]);
    }
    });

1 Ответ

9 голосов
/ 28 января 2011

Пусть ваш CFC вернет данные в виде JSON, и измените ваш ajax-запрос так, чтобы он ожидал JSON.

Предполагается, что CF8 +

Чтобы ваш метод возвратил JSON, просто добавьте новое имя строки запроса /пара значений "returnformat = json".

Чтобы ваш ajax ожидал получения json, просто добавьте "dataType: 'json'" к функции ajax.

$.ajax({
  type: "POST",
  dataType: 'json',
  url: "/ajax/ajax_test.cfc?method=ajaxTest&returnformat=json",
  data:"field1=17",
  success: function(response) {
    var r=response;
    $(".cat_vid_subContainer").empty();
    $(".cat_vid_subContainer").html(r.DATA[2]);
   }
});

Если ваш CFC равенвозвращая массив, затем jQuery десериализует массив JSON в массив javascript, и вы можете получить доступ к его элементам, как вы это делаете в настоящее время.

Обратите внимание, важно, чтобы ваш CFC возвращал только JSON.Если вы возвращаете отладочную информацию или имеете кучу пробелов перед JSON, jQuery не сможет десериализовать ее.Используйте Firebug или другой подобный инструмент, чтобы проверить качество вашего возвращенного JSON.Или просто запросите URL-адрес в браузере и просмотрите исходный код.

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