2011-11-07 77 views
0

我有這樣一個功能:uiModal.simpleModal('<p>This is some content</p>');負載在通過HTML使用jQuery AJAX

這應該叫模態與傳遞的數據爲模式的內容。例如(注意我沒有添加modalHtml,因爲它與這個問題無關)。

simpleModal: function (data) { 

    var responseHtml = data; 

    // Append the modal HTML to the DOM 
    var modalInstance = $('body').append(modalHtml); 

    // Dynamically load in the passed data from the call 
    $.ajax({ 
     timeout: 5000, 
     success: function (responseHtml) { 
      $(modalInstance).find('.uiModalContent').html($(responseHtml)); 
      $(modalInstance).find('.uiModalContent').removeClass('loading'); 

      isModalSuccess = true; 
     }, 
     error: function() { 
      $(modalInstance).find('.uiModalContent').html('<div class="message error"><h2>Unknown Error</h2> Please contact support</p></div>'); 
      $(modalInstance).find('.uiModalContent').removeClass('loading'); 
     } 
    }); 

    $(modalInstance).find('.ModalClose').live('click', function (e) { 
     e.preventDefault(); 
     $(this).parents('.uiModal').fadeOut(function() { $(this).parents('.uiModalWrapper').remove() }); 
    }); 
}, 

但是它不會加載數據!有人能指出我在正確的方向

感謝

回答

1

看起來你還沒有告訴你的Ajax方法從哪裏加載數據。

你需要在URL中傳遞將從中加載數據:

$.ajax({ 
     url: "http://www.example.com/jsonRequest", 
     timeout: 5000, 
     success: function (responseHtml) {} 
}); 

UPDATE

下面給出你對此有何評論似乎什麼AJAX是你可能有輕微的誤解爲...設計。

在你的情況下,你已經有了模態窗口的數據,所以你可以使用它而不需要ajax調用。

$(modalInstance).find('.uiModalContent').html($(responseHtml)); 
    $(modalInstance).find('.uiModalContent').removeClass('loading'); 

如果你還需要檢查您respoonseHtml變量存在的數據,那麼你可以做一個簡單的if聲明:

if(responseHtml.length > 0) 
{ 
     $(modalInstance).find('.uiModalContent').html($(responseHtml)); 
     $(modalInstance).find('.uiModalContent').removeClass('loading'); 
} 
else 
{ 
    $(modalInstance).find('.uiModalContent') 
    .html('Error message here'); 
    $(modalInstance).find('.uiModalContent').removeClass('loading'); 

} 
+0

沒有URL,正在函數調用中傳遞的內容 – Cameron

+0

不是。 ajax方法用於從URL中獲取數據。你這樣做是錯誤的。忘掉ajax部分,在這種情況下你不需要它。 –

1

爲什麼我看不到任何URL的Ajax調用。 必須有一些你想要點擊的網址來檢索數據,如果沒有,那你爲什麼要做$ .ajax?

+0

沒有URL,正在傳遞的內容正在函數調用 – Cameron

+0

如果你傳遞的內容,爲什麼要使用AJAX? – Kyberias