#php #javascript #jquery-ui #zend-framework
#php #javascript #jquery-пользовательский интерфейс #zend-framework
Вопрос:
У меня очень странные ошибки в моих журналах на моем веб-сайте. Сайт основан на Zend Framework, и у меня часто возникают такие или подобные ошибки:
2011-10-16T03:02:57 02:00 ERR (3): Error requesting: /js/min/,e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)amp;amp;!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find( from ip: 24.132.216.36
Invalid controller specified (js)
#0 /application/include/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /application/include/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /application/Bootstrap.php(271): Zend_Application_Bootstrap_Bootstrap->run()
#3 /application/include/Zend/Application.php(366): Bootstrap->run()
#4 /public/index.php(11): Zend_Application->run()
#5 {main}
Теперь я знаю, что контроллера / js вообще нет. Что забавно, что в запросе есть часть скрипта пользовательского интерфейса jQuery. У меня нет информации о том, какой браузер выполнял эти запросы и с какого сайта. Скрипт в jQueryUI является частью диалогового окна jQuery UI с уменьшенным файлом 1.8.16, но иногда ошибки — это разные части уменьшенного скрипта.
Я попытался добраться до источника диалогового окна пользовательского интерфейса jQuery 1.8.16 и обнаружил, что это код из скрипта:
uiDialogTitle = $('<span></span>')
.addClass('ui-dialog-title')
.attr('id', titleId)
.html(title)
.prependTo(uiDialogTitlebar);
//handling of deprecated beforeclose (vs beforeClose) option
//Ticket #4669 http://dev.jqueryui.com/ticket/4669
//TODO: remove in 1.9pre
if ($.isFunction(options.beforeclose) amp;amp; !$.isFunction(options.beforeClose)) {
options.beforeClose = options.beforeclose;
}
uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection();
Эти ошибки всегда отображаются только с минимизированными скриптами jQueryUI. У меня также есть много других сценариев, но в запросе get иногда появляется только источник jQueryUI. У кого-нибудь есть похожие ошибки и может помочь?
Ответ №1:
Мне кажется, что запрос на ваш js-код переписывается через ваш загрузчик Zend Framework? В вашем файле .htaccess вы можете добавить запись в не определенные шаблоны URL-адресов для приложения Zend Framework. В общем, вот что я делаю:
RewriteEngine on
RewriteRule ^images.*$ - [L]
RewriteRule ^img.*$ - [L]
RewriteRule ^js.*$ - [L]
RewriteRule !.(js|ico|gif|jpg|png|css|pdf|doc|xls|csv|txt)$ index.php
Ответ №2:
У меня была такая же проблема, и изменения htacces помогли мне, но позже я обнаружил, что на самом деле причина заключалась в том, что файл js был пуст. после добавления некоторого кода в файл js проблема решена, и вообще не нужно было менять htaccess