如何在ajax调用文件中运行javascript?

时间:2011-10-31 01:30:04

标签: ajax jquery

$.ajax({
      url: "test.html",
      context: document.body,
      success: function(){
        $(this).addClass("done");
      }
    });

如何在test.html中运行javascript并使其正常工作?

由于 Abhinab

2 个答案:

答案 0 :(得分:1)

它并没有真正起作用。页面加载时,浏览器会解释页面中的Javascript。在这种情况下,您没有在浏览器中加载页面,只是在您的ajax响应中获取页面。该响应HTML可能具有< script>其中的元素,但没有任何东西可以用它做任何事情。

我甚至犹豫不决,但你可以解析你的成功函数中的响应,找到所有的脚本元素,然后将你想要的任何内容添加到你自己的页面的DOM中。这应该导致脚本被提取和评估。我不敢提它,因为它闻起来真的坏了。如果我的任何开发人员这样做,我们将进行艰难的对话。 ; - )

可能有助于详细说明您要完成的任务,因为可能有更优雅的方式来实现您的目标。

答案 1 :(得分:0)

function call_recursive(){
    var pages ["test1.html", "test2.html", "test3.html" ];

    while(pages.length() > 0){
        page = pages.pop();           
        $.ajax({
            url: page,
            context: document.body,
            success: function(){
                $("div#logger").append("<p>" + page " loded </p>");
            },
            error: function(){
                $("div#logger").append("<p class'error'>" + page " is not loded </p>");
            },
        });
    }
}

执行 call_recursive