jQuery - 从外部脚本挂钩到$ .ajax调用

时间:2012-04-02 18:29:05

标签: jquery ajax callback hook

我要包含一个我想要修改的脚本“foo.js”:

<head>
    <script src="/myPath/foo.js" type="text/javascript"> </script>
</head>

为了能够在我的主页上挂钩ajax调用:

$.ajax({
    url: urlPath,
    success: function (data) {
        //hook into here from foo.js somehow??
    }
});

有没有办法在foo.js中完成此操作而根本不修改主页面的脚本? (也许在主要脚本内部填充/更改内容的内容中挂钩?)

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以尝试使用Global Ajax Event Handlers收听全球事件。

答案 1 :(得分:0)

如果您的foo.js包含在一个闭包中(如果您不知道这意味着什么,只需忽略)那么您可以绑定到命名空间并通过那里调用函数。 / p>

否则,javascript具有全局范围,因此导入到您文件中的任何脚本都可以调用函数,只要它按依赖顺序导入即可。

即:

foo.js:

function foo(data) {
   // do stuff with data
}

main.html中:

<head>
   <script src="/myPath/foo.js" type="text/javascript"></script>
   <script type="text/javascript">
       $.ajax({
          url: urlPath,
          success: function(data) {
              foo(data);
          }
       });
   </script>
 </head>

嵌入式脚本非常重要, AFTER 导入,以便它可以引用foo.js内的函数。