4

我正在使用 qTip jQuery 插件来创建动态工具提示。工具提示向 cfc 发送一个 id,该 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(){ .....看看我是否可以让它输出一些东西,但我得到一个 '数据未定义错误'

尝试使用 HTML 格式输出此数据的正确方法是什么?

4

3 回答 3

2

qTip 论坛,作者似乎在 api 回调中添加了一个 ajax 调用。也许这会解决你的问题?

这是他的例子:

$(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('^$%#$#$');
    }
   });
  }
});
于 2010-05-30T13:59:50.333 回答
0

您必须在请求中将 dataType 指定为 json。它告诉 jquery 将响应视为 json,以便您可以像当前使用一样使用它。此外,一旦您以儿子身份获得数据,您就可以创建要显示的 HTML。

于 2010-05-29T19:24:00.150 回答
0

事实证明,这是 ColdFusion 调试器在打开请求调试输出时导致 ajax 错误的另一种情况。这是我们在启用调试的情况下使用 ColdFusion 时需要记住的一大“陷阱”。它分解了ajax。

于 2011-02-06T06:54:10.033 回答