Bug #88631

Page type parameter is ignored in POST requests/parameters

Added by DMK E-BUSINESS GmbH over 2 years ago. Updated 12 months ago.

Should have
Start date:
Due date:
% Done:


Estimated time:
TYPO3 Version:
PHP Version:
Is Regression:
Sprint Focus:


Since TYPO3 9 the page type parameter is ignored when set in POST parameters (for example from a form field). If it's set in GET parameters (query string) everything is fine. This is because the PageArguments object is instantiated at several points with only the type parameter from the query params (for example in \TYPO3\CMS\Frontend\Middleware\PageResolver) not respecting the POST parameters. On the other hand the TypoScriptFrontendController is instantiated in \TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization with GeneralUtility::_GP('type') handling both POST and GET parameters. This is inconsistent behaviour and should be fixed as soon as possible. Or is this intended and not a bug?


Updated by Benni Mack over 2 years ago

  • Status changed from New to Accepted

definitively a bug. However, I wonder how the URL to the page is generated (via <f:form> in fluid or typolink?). This would be great so we can add proper tests to it.


Updated by DMK E-BUSINESS GmbH over 2 years ago

The link to the page is generated with a typolink but has no type parameter. The type parameter is added to the POST request through JavaScript as the request is done with Ajax.


Updated by Tobias Schmidt over 1 year ago

I can confirm this bug still exists in TYPO3 10.3.


Updated by Tobias Schmidt over 1 year ago

Any chance this gets fixed rather soon?


Updated by Tobias Schmidt over 1 year ago

As a workaround one can add the type parameter to the url and still send the form data with POST:

    async: true,
    url: url + 'additional/pathsegment/?type=123456789',
    type: 'POST',
    data: formData

This is probably not just a workaround but the way it should be done. One could add a page type suffix mapping for the type value in the routing configuration to create a speaking url: url + 'additional/pathsegment/status.json',


Updated by Martin Weymayer 12 months ago

If you have routeEnhancers like this, you have to add your typNum:
type: PageType
default: /
suffix: /
index: ''
/: 0
ajaxCart: 2278001

Also available in: Atom PDF