2011-06-06 86 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