jQuery eval的ajax内联脚本不会抛出错误

时间:2010-03-29 03:23:35

标签: php jquery ajax debugging firebug

Debugging Ajax code with Firebug

这个问题非常相似,虽然陈旧但没有真正的答案。

我目前正在组建一个应用程序,其中包含可以使用ajax请求加载的脚本。

一个例子:

var main = _main.get();
main.load( someurl );

其中someurl是包含内联脚本元素的页面:

<script type="text/javascript"> 
$(document).ready( function(){
    var activities = new activities();
    activities.init();
});
</script>

jQuery将逐行执行内嵌脚本标记中的js。问题是,当出现问题时,我在firebug中没有任何错误或任何信息。

有没有人有这个好的解决方案?或者更好的方法来加载包含javascript功能的页面?

编辑:稍微进步...所以在通过ajax加载的页面顶部,我有另外一个脚本,如下所示:

<script type="text/javascript" src="javascript/pages/activities.js"></script>

当我将页面中的内联$(document).ready()代码移动到此包含文件的末尾时,现在正在正确地抛出语法错误。

顺便说一句,我把一个console.log()扔进了内联脚本标签,它被记录得很好。我也尝试完全删除$(document).ready(),并将其切换为$(window).load()事件。没有不同。可能与内联脚本依赖于所包含的activities.js有关。我想。

::摇头:: javascript可能是一场噩梦。

1 个答案:

答案 0 :(得分:0)

我建议使用http://api.jquery.com/jQuery.getScript/延迟加载Javascript或获取HTML内容http://api.jquery.com/load/

分别为:

$.getScript('path/to/file.js');

..和

$('#content-wrap').load('path/to/html/file.html');

这两个方法都是http://api.jquery.com/jQuery.ajax/的回绕,并且有可选的回调函数参数。