Drupal Ajax error when the Ajax view

Created on 22 April 2022, almost 3 years ago
Updated 11 March 2025, 27 days ago

Problem/Motivation

I have a view setup with ajax enabled, and include the Facets blocks with views. Whenever the view is reloaded with ajax
Browser Console error:

Uncaught Object { message: "\nAn AJAX HTTP error occurred.\nHTTP Result Code: 500\nDebugging information follows.\nPath: /islandora-advanced-search-ajax-blocks\nStatusText: 500 Service unavailable (with message)\nResponseText: The website encountered an unexpected error. Please try again later.", name: "AjaxError", stack: "@https://base_url/core/misc/ajax.js?v=9.3.12:110:32\n@https://base_url/core/misc/ajax.js?v=9.3.12:674:3\n" }

Drupal Log error:

Error: Call to undefined method Symfony\Component\HttpFoundation\RequestStack::getMainRequest() in Drupal\facets\Plugin\facets\facet_source\SearchApiDisplay::create() (line 120 of /var/www/test_site/web/modules/contrib/facets/src/Plugin/facets/facet_source/SearchApiDisplay.php)
#0 /var/www/test_site/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\facets\Plugin\facets\facet_source\SearchApiDisplay::create()
#1 /var/www/test_site/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
#2 /var/www/test_site/web/modules/contrib/facets/src/Entity/Facet.php(731): Drupal\Component\Plugin\PluginManagerBase->createInstance()
#3 /var/www/test_site/web/modules/contrib/facets/src/Plugin/Block/FacetBlock.php(78): Drupal\facets\Entity\Facet->getFacetSource()
#4 /var/www/test_site/web/core/modules/block/src/BlockViewBuilder.php(171): Drupal\facets\Plugin\Block\FacetBlock->build()
#5 [internal function]: Drupal\block\BlockViewBuilder::preRender()
#6 /var/www/test_site/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array()
#7 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(772): Drupal\Core\Render\Renderer->doTrustedCallback()
#8 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(363): Drupal\Core\Render\Renderer->doCallback()
#9 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender()
#10 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(157): Drupal\Core\Render\Renderer->render()
#11 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
#12 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(158): Drupal\Core\Render\Renderer->executeInRenderContext()
#13 /var/www/test_site/web/modules/contrib/advanced_search/src/Controller/AjaxBlocksController.php(158): Drupal\Core\Render\Renderer->renderPlain()
#14 [internal function]: Drupal\advanced_search\Controller\AjaxBlocksController->respond()
#15 /var/www/test_site/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()
#16 /var/www/test_site/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#17 /var/www/test_site/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext()
#18 /var/www/test_site/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()
#19 /var/www/test_site/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#20 /var/www/test_site/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#21 /var/www/test_site/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()
#22 /var/www/test_site/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#23 /var/www/test_site/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#24 /var/www/test_site/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
#25 /var/www/test_site/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
#26 /var/www/test_site/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#27 /var/www/test_site/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#28 /var/www/test_site/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle()
#29 /var/www/test_site/web/index.php(19): Drupal\Core\DrupalKernel->handle()
#30 {main}

Proposed resolution

Change line 120 of SearchApiDisplay.php at /web/modules/contri/facets/src/Plugin/facets/facet_source from:

version_compare(\Drupal::VERSION, '9.3', '>=') ? $request_stack->getMainRequest() : $request_stack->getMasterRequest(),

to
version_compare(\Drupal::VERSION, '9.3', '>=') ? $request_stack->getMasterRequest() : $request_stack->getMainRequest(),

I included a patch as well.

Thanks.

🐛 Bug report
Status

Closed: won't fix

Version

2.0

Component

Code

Created by

🇨🇦Canada kylehuynh

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇧🇪Belgium borisson_ Mechelen, 🇧🇪

    Since this is in the 2.x version of facets and it is regarding ajax, I'm going to close this issue. We are only supporting ajax with views in facets 3.x.

Production build 0.71.5 2024