Пусть ваш 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-адрес в браузере и просмотрите исходный код.