2015-12-23 2 views
0

У меня есть сценарий TemplateLoader.js, который загружает 2 шаблона Mustache и отображает их на странице (или, по крайней мере, это цель).jQuery, явно игнорирующий путь, который я передаю .getScript()

Моя структура каталогов:

COMP266 
    Unit 4 
     scripts 
      mustache.min.js 
      TemplateLoader.js 
     PageUsingTemplateLoader.html 

Внутри TemplateLoader (объекта), у меня есть следующий кусок для загрузки Усы и рендеринга шаблонов:

$.getScript("./scripts/mustache.min.js", function() { 
    $('head').html(Mustache.render(headTemplate, data)); 
    $('body').html(Mustache.render(bodyTemplate, data, uniqueBodyTemplate)); 
}); 

Это, однако, приводит к следующему ошибка в консоли разработчика:

HTTP404: NOT FOUND - сервер ничего не нашел соответствие запрошенному URI (унифицированный идентификатор ресурса). (XHR): GET - http://localhost:63342/COMP266/Unit%204/mustache.min.js?_=1450903391318

Как ни странно, это, кажется, уронил папку script полностью с пути.

я решил поиграть, так что я изменил выборки путь к (дублируя папку сценария):

./scripts/scripts/mustache.min.js 

Но это дает:

HTTP404: НЕ НАЙДЕНО - Сервер не имеет нашел что-либо, соответствующее запрошенному URI (Uniform Resource Identifier). (XHR): GET - http://localhost:63342/COMP266/Unit%204/scripts/scripts/mustache.min.js?_=1450903743022

Теперь это слушать! К сожалению, это, очевидно, неправильный путь.

Я понятия не имею, как это сделать, отлаживая это. Кажется, что jQuery выборочно удаляет папку scripts. Это кажется смешным, но для того, чтобы убедиться, я искал источник jQuery и не мог найти ничего, что могло бы наблюдать наблюдаемую фильтрацию пути.

В настоящее время он локальный, а не хостинг.

Может ли кто-нибудь дать мне подсказку о том, что здесь происходит?

+0

Не знаю, но я бы сделал следующее: просмотрите источник TemplateLoader.js, который доставлен в браузер. Я не знаю, что такое ваш веб-сервер, но я подозреваю, что какая-то конфигурация на сервере переписывает путь; следующая вещь должна была бы просто изменить имя папки сценариев на js и посмотреть, устраняет ли это проблему. – bknights

+0

Мне кажется, что какой-то тип urlrewrite мешает. –

+0

@bknights В настоящее время это локально, поэтому с ним не должно быть никаких проблем. – Carcigenicate

ответ

0

Оказалось, что проблема была вызвана тем, что я забыл, что мой шаблон добавил сценарий усов (из предыдущего теста), в результате чего он добавляется дважды.

Я не понимаю, как это повлияло на это. Это не похоже на добавление jQuery, в то время как добавление шаблона вызывало ошибку, поскольку изменение пути извлечения jQuery вызвало прямое изменение сообщения об ошибке.

Конечно, хотя я удалил импорт сценария из шаблона, он сработал.

Я действительно не понимаю, как это вызвало удаление определенной папки из пути.

Смежные вопросы