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

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

4 голосов
/ 02 апреля 2012

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

0 голосов
/ 02 апреля 2012

Если ваш 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.

...