使用jQuery Ajax显示成功脚本

时间:2013-02-26 19:58:06

标签: javascript jquery ajax

我使用这个脚本(做一个document.write,你可以访问src来查看它),它会在我的页面的HTML序列中到达时加载时间:

<script type="text/javascript" src="http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25"></script>

这会阻止脚本加载后加载一两秒后的任何内容,所以我想通过jQuery Ajax加载它以防止挂起。

以下是我的尝试:

var $j = jQuery.noConflict();
$j(document).ready(function () {
    $j.ajax({
        url: "http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25",
        dataType: "script",
        success: function (data) {
            $j("#recent-discussion").html(data)
        }
    });
});

但是我没有正确处理成功。我看到请求加载,但它没有做任何事情。我希望它运行脚本并将document.write输出到目标#nigh-discussion。

我仍在寻找示例,但无法弄清楚我做错了什么......非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

加载页面后无法执行document.write。通过使用document.write的AJAX调用加载的任何脚本都无法正常工作。

答案 1 :(得分:1)

您的ajax调用似乎是正确的,并且您实际上不需要在success回调中执行任何操作 - 该脚本已经开始执行(but not necessarily so)。

如果它不起作用,请检查它是否正确加载(可能在ajax调用中使用error回调)。 BTW是否与您的主页位于同一个域中?您可以从不同的域加载脚本,但通常不能对它们进行ajax调用(由于同源策略)。

  

我希望它运行脚本并将document.write输出到目标#nigh-discussion。

我不认为这实际上是可能的......如果这是你的脚本需要做的,而你无法改变它,我担心你几乎无法做到(没有猴子修补{{1} },即)。