2010-03-26 151 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()'会正常工作......如果文档已经准备好,它会立即执行,它不像已经被触发的事件。 –