2011-06-06 92 views
1

我想显示博客的详细信息,当一个链接被点击。jquery ajax响应没有显示在jqueryui对话窗口

这是我的代码的一部分。

“阿贾克斯” 部分

$.ajax({ 
     url: 'someurl', 
     dataType: 'json', 

     success: function(response) { 
      $('#viewDialog > h1').html(response.title); 
      $('#viewDialog > p').html(response.content); 

      $('#viewDialog').dialog('open'); 
     } 
    }); 

名 “.html” 部分

<div id="viewDialog" title="My Blog"> 
    <h1></h1> 
    <p></p> 
</div> 

我敢肯定,我从服务器获取在正确的JSON格式的响应。 类似这样的 {"id":"120","title":"My new stuff","content":"Someting new","author_id":"11"}

当我点击链接时,对话框窗口被强制关闭,但窗口中没有信息显示。

我做的一切正确吗?

米洛

回答

1

在您提供的HTML中没有ID为blogDetail的元素。问题更新后

编辑:如果先前创建的对话框

传递'open'到对话框呼叫只会工作。

在您的jQuery脚本的顶部放置$('#viewDialog').dialog({autoOpen:false});应该使这个工作。

或者你可以简单地删除 '开放' 的参数并调用$('#viewDialog').dialog();

Demo using { autoOpen : false }

Demo without Passing 'open'

2

差不多,通过对事物的外观 - 试试这个:

$.ajax({ 
    url: 'someurl', 
    dataType: 'json', 
    success: function(response) { 
     $('#viewDialog > h1').html(response.title); 
     $('#viewDialog > p').html(response.content); 

     $('#viewDialog').dialog('open'); 
    } 
}); 

你没有定义blogDetail的ID,我可以看到。它看起来像你试图把HTML放入viewDialog。

+0

我想我粘贴一个错误代码。我更新了我的问题。事实上,我遇到的代码与您的答案完全相同。仍然弹出对话窗口,但没有关于它的信息。更多的帮助表示赞赏。 – hoyomi 2011-06-09 05:32:19

+0

是你所有的代码?在尝试打开它之前,您是否包含了JQuery UI并初始化了一个对话框? – Codecraft 2011-06-09 09:25:26