2013-02-16 72 views
0

我,m試圖使用jquery加載標籤& ajax,我有「page-1.html,page-2.html,page-3.html,page-4.html,page -5.html「,」page-1.html「是我想要首先顯示的主頁面,但是我遇到了頁面停止加載和標籤內容未顯示的問題,只有加載類顯示<div class=\"loading\"></div> 這裏的代碼:Ajax加載標籤不工作

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>Untitled 1</title> 
<script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
<script type="text/javascript"> 
function Tabs (getFile) 
{ 
    $.ajax({ 
     url: getFile, 
     beforeSend: function(){ 
      $(".PagesContent").html("<div class=\"loading\"></div>"); 
     }, 
     success: function(data){ 
      $(".PagesContent").html(data); 
     } 
    }); 
} 

$(document).ready(function(){ 

    Tabs ("page-1.html") 

    $(".pages ul > li").click(function(){ 
     $(".pages ul > li").removeAttr("class"); 
     $(this).addClass("active"); 
     return false; 
    }); 

}); 
</script> 
<style type="text/css"> 
.loading{ 
    background-image:url('images/loading.gif'); 
    background-repeat:no-repeat; 
    height:32px; 
    width:32px; 
    margin:15px auto; 
} 
</style> 
<body> 
    <div class="pages"> 
     <ul> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="#">Our Partners</a></li> 
      <li><a href="#">Supplies</a></li> 
      <li><a href="#">Set Order</a></li> 
      <li><a href="#">About Us</a></li> 
     </ul> 
     <div class="clear"></div> 
    </div><!--End pages-->  
    <div class="PagesContent"></div><!--End Pages Contents--> 

</body> 
</html> 

爲什麼這是錯的?沒有顯示頁面page-1.html!只顯示加載img。

+1

可以檢查瀏覽器控制檯的任何錯誤 – 2013-02-16 13:03:27

+0

的'網址:getfile'應該是'網址:getFile' – 2013-02-16 13:04:04

+0

它已經的GetFile,對不起打字錯誤,我仍然有問題 – Husam 2013-02-16 13:12:10

回答

0

要確信你的時機是正確的,你可以這樣做(你需要的jQuery 1.5或更新版本)

function Tabs (getFile) 
{ 
    return $.ajax({ 
     url: getFile, 
     beforeSend: function(){ 
      $(".PagesContent").html("<div class=\"loading\"></div>"); 
     } 
    }); 
} 

$(document).ready(function(){ 

    $.when(Tabs("page-1.html")) 
     .done(function() { 
      $(".PagesContent").html(data); 
     }) 
     .fail(function() { 
      $(".PagesContent").html("<span class='error'>Failed to load tab.</span>"); 
     }) 

    $(".pages ul > li").click(function(){ 
     $(".pages ul > li").removeAttr("class"); 
     $(this).addClass("active"); 
     return false; 
    }); 

}); 

正如前面所說的;您的瀏覽器是否會返回任何錯誤(在控制檯中)?

+0

什麼都沒有發生,只有類「加載」顯示

Husam 2013-02-16 13:21:36

+0

使用Web Inspector的網絡選項卡檢查您的服務器回覆。如果您提供足夠的信息,人們只能幫助您。 – 2013-02-16 13:25:14