jQuery - подключение к вызову $.ajax из внешнего скрипта

Я включаю скрипт "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 ответа

Вы можете попробовать использовать глобальные обработчики событий Ajax для составления списка глобальных событий.

Если твой foo.js завернутый в замыкание (если вы не знаете, что это значит, просто проигнорируйте), тогда вы можете привязаться к пространству имен и вызвать через него функции.

В противном случае 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>

Важно, что встроенный скрипт приходит после импорта, чтобы он мог ссылаться на функции внутри foo.js,

Другие вопросы по тегам