2010-03-26 195 views
-1

我一直在用ajax加載內容,所有工作都很好。這裏是我的代碼用jquery做阿賈克斯

$(document).ready(function() { 

//Load a-z.php 
//Timestamp resolves IE caching issue 
var tsTimeStamp= new Date().getTime(); 
$.post('../../includes/categories/a-z.php', 
     {action: "post", time: tsTimeStamp}, 
     function(data){ 
     $('#moviescontainer').html(data).slideDown('slow'); 
     }); 
return true;       

}); 

我的數據裏面,z.php需要Javascript它的內容,當我打開一個-z.php到我的網頁的JavaScript不起作用。

我在想,我需要將相關文件鏈接到a-z.php,然後通過ajax加載它。

難道這種打敗阿賈克斯的對象?這意味着我將加載主頁上的js文件,然後再加載它們,當我ajax a-z.php

我希望我做了一些道理。

編輯:AZ.php頁面引用我已經列入我的主網頁(例如在外部JavaScript文件:jQuery庫,這將意味着我加載了兩次

當我的意思是需要的JavaScript。它的內容我有幾個模式框等等,當點擊內容時打開這些使用Jquery庫)

+0

一般來說,這應該起作用。你能告訴我們Javascript不起作用嗎? – SLaks

+0

你是什麼意思?「要求使用Javascript纔是內容」?您的網頁上是否已有Javascript應用程序處理由a-z.php提供的內容? a-z.php是否內嵌Javascript? a-z.php是否引用外部JavaScript文件? – Pickle

+0

請看我上面的編輯 – user272899

回答

0

您的問題很可能是您需要將defer屬性添加到腳本標記,它延遲執行腳本直到內容被加載。

see here

你不應該有加載腳本第二次。

0

編輯:AZ.php頁面引用我已經包括在我的主頁 (例如 外部JavaScript文件:jQuery庫,這 將意味着我加載了兩次

然後簡單地從a-z.php頁面中忽略它們,如果它們已經包含在主頁面上,當它通過ajax加載時它們將可用於a-z.php腳本,但是我懷疑任何onload$(document).ready()調用都不會工作很正確,我想盡量去除畝ch JS儘可能出於a-z.php頁面。

+0

我認爲問題在於javascript在$(document).ready()內。我將如何解決這個問題? – user272899

+0

不要使用它。用你自己的函數替換'$(document).ready()',然後從'$ .post'回調函數中手動調用它(或者直接將代碼移入回調函數)。 – mpen

+2

@ user272899 - $(document).ready()'會正常工作......如果文檔已經準備好,它會立即執行,它不像已經被觸發的事件。 –