Мне часто приходится загружать другие файлы javascript через ajax, поэтому в начале я использовал стандартную функцию jQuery для script загрузки:
$.getScript('script_name.js',callback_function());
Но это не сработало, поскольку $.getScript асинхронен (jQuery API для $.ajax говорит, что "async" по умолчанию установлено значение true, тема обсуждается в комментариях API для $.getScript: http://api.jquery.com/jQuery.getScript/). Поэтому я написал эту функцию, предоставленную кем-то в комментариях страницы API, приведенной выше:
load:function(script,callback){
jQuery.ajax({
async:false,
type:'GET',
url:script,
data:null,
success:callback,
dataType:'script'
});
},
Казалось, что это хорошо работает, поэтому я продолжил, но недавно заметил, что это работает только для скриптов в одном каталоге, например. вызов myObj.load('test.js') работает хорошо, но вызов myObj.load('test/test.js') не работает вообще.
Похоже, что мне не хватает чего-то очевидного, но мне не удалось найти проблему. Любая идея?