Zend Framework Странные ошибки Недопустимый контроллер с частью исходного кода javascript в запросе

#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