2013-04-13 124 views
-1

我試圖讓我的網頁內,這個Ajax調用,但我不斷地得到了控制檯和jQuery的動畫此錯誤是不工作:

<script type="text/javascript"> 


$(document).ready(function(e){ 

     var dir = "<?php echo $_REQUEST['DirPath']; ?>"; 
    var user = "<?php echo $_SESSION['login_user']; ?>"; 
     var datastr='DirPath='+dir+'&UserName='+user; 
     $.ajax({ 
     type: "POST", 
     url: "RenderFiles.php", 
     data: datastr, 
     success: function(data){ 
       $("#RenderFiles").replaceWith(data); 
      $("#nav > li > a").click(function() { // binding onclick 
           if ($(this).parent().hasClass('selected')) { 
            $("#nav .selected div div").slideUp(100); // hiding popups 
            $("#nav .selected").removeClass("selected"); 
           } else { 
            $("#nav .selected div div").slideUp(100); // hiding popups 
            $("#nav .selected").removeClass("selected"); 

            if ($(this).next(".subs").length) { 
             $(this).parent().addClass("selected"); // display popup 
             $(this).next(".subs").children().slideDown(200); 

            } 
           } 
       }); 
      $("#nav li div div,#drop").mouseleave(function(e) { 
        $("#nav li div div").hide(); 
       $("#files_menu").addClass("menuactive"); 
      }); 
     } 
    }); 
}); 

</script>` 

的錯誤是:語法錯誤:語法錯誤

}); jquery.js:第2行

+0

你確定jquery.js加載正確嗎?如果你在地址欄中輸入它的url,它是否顯示jQuery庫? – JJJ

回答

0

根據我的經驗,該錯誤通常是由於將參數傳遞給jQuery函數,而jQuery函數的格式不正確,因此jQuery無法正確使用它。在您的具體情況下,最可能的候選人將是datastr變量。在進行ajax調用之前,嘗試將其輸出到控制檯,以查看它保存的內容。它可能不是data屬性的正確格式。

0

您沒有正確關閉所有內容。使用此:

$.ajax({ 
    type: "POST", 
    url: "RenderFiles.php", 
    data: datastr, 
    success: function(data){ 
     $("#RenderFiles").replaceWith(data); 
     $("#nav > li > a").click(function() { 
      if ($(this).parent().hasClass('selected')) { 
       $("#nav .selected div div").slideUp(100); 
       $("#nav .selected").removeClass("selected"); 
      }else{ 
       $("#nav .selected div div").slideUp(100); // hiding popups 
       $("#nav .selected").removeClass("selected"); 
        if ($(this).next(".subs").length) { 
         $(this).parent().addClass("selected"); // display popup 
         $(this).next(".subs").children().slideDown(200); 
        } 
      } 
     }); 
    } 
}); 

還要確保RenderFiles.php正在返回的jQuery可用的格式。如果你仍然有問題,請檢查你的js變量的值。

+0

不正確地關閉東西會導致我在我的答案中描述的問題 - 將無效參數傳遞給jQuery函數。 – maxedison

+0

jQuery的可用格式是什麼? –

+0

@mr_abbasi請參閱http://api.jquery.com/jQuery.ajax/定義'dataType'。 – Mooseman

0

這並不是一個具體的問題。 jquery元素點擊函數被調用兩次(同樣在文檔加載中)。在刪除多餘的電話錯誤被刪除:)