Как вывести столбцы JSON в jQuery - PullRequest
3 голосов
/ 29 мая 2010

Я использую плагин qTip jQuery для создания динамических подсказок. Всплывающая подсказка отправляет идентификатор в CFC, который выполняет запрос и возвращает данные в формате JSON.

На данный момент всплывающая подсказка загружается со следующим текстом:

{"COLUMNS:" ["BOOKNAME","BOOKDESCRIPTION"["MYBOOK","MYDESC"]]} 

Вот jQuery

$('#catalog a[href]').each(function()
{
    var gi = parseInt($(this).attr("href").split("=")[1])
    $(this).qtip(
    {
        content: {
            url: 'cfcs/viewbooks.cfc?method=bookDetails',
            data: { bookID: gi  },
            method: 'get',
            title: {
                text: $(this).text(),
                button: 'Close'
            }
        },
        api :{
        onContentLoad : function(){
            }
        },
    });
});

Как я уже говорил, данные возвращаются успешно, но я не уверен, как вывести их и отформатировать в HTML.

Я попытался добавить content: '<p>' + data.BOOKNAME + '

' в api :{ onContentLoad : function(){ ....., чтобы посмотреть, смогу ли я заставить его что-то выводить, но я получаю 'data is undefined error'

Как правильно выводить эти данные в формате HTML?

Ответы [ 3 ]

2 голосов
/ 30 мая 2010

Из qTip форумов выясняется, что автор добавляет вызов ajax внутри обратного вызова API. Может быть, это решит вашу проблему?

Вот его пример:

$(this).qtip({
 content: 'Loading...',
 api: {
  onRender: function()
  {
   // Setup your AJAX request here
   $.ajax({
    url: DOC_ROOT + "admin/ajax/tooltip_process.php",
    type: 'GET';
    contentType: "application/json charset=utf-8",
    dataType: "json",
    success: function(json) {
     if(json[0].result == 'success') return json[0].tip;
     else alert('^$%#$#$');
    }
   });
  }
});
0 голосов
/ 06 февраля 2011

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

0 голосов
/ 29 мая 2010

Вы должны указать dataType как json в вашем запросе. Он говорит jquery обрабатывать ответ как json, так что вы можете использовать его так, как используете сейчас Также, как только вы получите данные как сын, вы можете создать HTML для отображения.

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