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
,