EmicoEcommerce / Magento2Tweakwise-archived

Magento 2 module for Tweakwise integration
Other
9 stars 25 forks source link

'No ajax navigation result handler found' when navigating quickly #215

Open Thokoop opened 2 years ago

Thokoop commented 2 years ago

Issue Brief

When using the pagination quickly it sometimes happens that the end-user is getting an error. This can be reproduced when quickly clicking through the pagination as soon as it is possible and the chances are increased on a slower network connection.

Also having a 'heavier' category page in general will increase the probability to get this error which is the case for our client (all configurable products with swatches and custom functionality). Note that we also have the pagination at the top of the product grid visible which also makes it 'easier' to quickly navigate to different pages without having to scroll down to the toolbar below the products first.

Environment

Steps to reproduce

  1. Enable 'slow 3g' network throttling in Chrome Developer Tools (or similar in browser of choice)
  2. Go to a category page like: https://tweakwise2-ce.emico.nl/women/tops-women.html
  3. Click on an item in the pagination to go to another page as quickly as possible
  4. When needed: repeat step 3 until error page shows up

Actual result

  1. You will get redirected to https://tweakwise2-ce.emico.nl/tweakwise/ajax/navigation/?p=2 and a Magento error is shown: An error has happened during application run. See exception log for details. Screenshot from 2021-12-13 14-43-08
  2. When looking into the var/report you will (probably) find:

{"0":"No ajax navigation result handler found for ","1":"#1 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#2 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#3 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->___callPlugins() called at [generated\/code\/Emico\/Tweakwise\/Controller\/Ajax\/Navigation\/Interceptor.php:23]\n#4 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->execute() called at [vendor\/magento\/framework\/App\/Action\/Action.php:111]\n#5 Magento\\Framework\\App\\Action\\Action->dispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:58]\n#6 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#7 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#8 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->___callPlugins() called at [generated\/code\/Emico\/Tweakwise\/Controller\/Ajax\/Navigation\/Interceptor.php:32]\n#9 Emico\\Tweakwise\\Controller\\Ajax\\Navigation\\Interceptor->dispatch() called at [vendor\/magento\/framework\/App\/FrontController.php:245]\n#10 Magento\\Framework\\App\\FrontController->getActionResponse() called at [vendor\/magento\/framework\/App\/FrontController.php:212]\n#11 Magento\\Framework\\App\\FrontController->processRequest() called at [vendor\/magento\/framework\/App\/FrontController.php:147]\n#12 Magento\\Framework\\App\\FrontController->dispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:58]\n#13 Magento\\Framework\\App\\FrontController\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#14 Magento\\Framework\\App\\FrontController\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/module-store\/App\/FrontController\/Plugin\/RequestPreprocessor.php:99]\n#15 Magento\\Store\\App\\FrontController\\Plugin\\RequestPreprocessor->aroundDispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:135]\n#16 Magento\\Framework\\App\\FrontController\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/module-page-cache\/Model\/App\/FrontController\/BuiltinPlugin.php:71]\n#17 Magento\\PageCache\\Model\\App\\FrontController\\BuiltinPlugin->aroundDispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:135]\n#18 Magento\\Framework\\App\\FrontController\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#19 Magento\\Framework\\App\\FrontController\\Interceptor->___callPlugins() called at [generated\/code\/Magento\/Framework\/App\/FrontController\/Interceptor.php:23]\n#20 Magento\\Framework\\App\\FrontController\\Interceptor->dispatch() called at [vendor\/magento\/framework\/App\/Http.php:116]\n#21 Magento\\Framework\\App\\Http->launch() called at [vendor\/magento\/framework\/App\/Bootstrap.php:264]\n#22 Magento\\Framework\\App\\Bootstrap->run() called at [pub\/index.php:29]\n","url":"\/tweakwise\/ajax\/navigation\/?p=16","script_name":"\/index.php","report_id":"e4285f0c891dba815fbf81b8a582d1a50b4a8f0941b2217c70009fd901b51213"}

Expected result

Hnto commented 2 years ago

@Thokoop we've added this to our backlog and will be working a fix shortly

ar-vie commented 2 years ago

Hi @Hnto , what is the status of this bug? Is there a commit available with the fix?