Рабочий метод, который я постоянно использую в TYPO3 v9 и v10:
Ваш Html. html
<f:form action="searchform"
class="form class_ajax"
object="{search}"
pageUid="{settings.flexform.pages.list.pid}"
name="search"
noCache="true"
method="post"
pageType="871"
>
Здесь очень важно, что вы также включаете pageType
.
Setup.typoScript
ajaxSearch_page = PAGE
ajaxSearch_page {
typeNum = 7356445
10 = USER
10.userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
10.extensionName= ExtensionName
10.pluginName = PluginName
10.vendorName = Vendor
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:application/json
xhtml_cleaning = 0
debug = 0
no_cache = 1
admPanel = 0
}
}
Вам не нужен [globalVar = GP:type = 871]
, поскольку вы уже определили, что на pageType 871 вы собираетесь использовать другую конфигурацию PAGE .
Убедитесь, что у вас есть TypoScript точно так, как я его написал
Ваш Js . js
var resultContainer = $('#yourContainer');
var service = {
ajaxCall: function (url) {
$.ajax({
url: url,
cache: false,
data: {url: url},
method: 'POST',
success: function (result) {
resultContainer.html(result).fadeIn('fast');
},
error: function (jqXHR, textStatus, errorThrow) {
resultContainer.html('Ajax request - ' + textStatus + ': ' + errorThrow).fadeIn('fast');
}
});
}
};
$(document).on('click', '#searchform', function (ev) {
var url=$(this).attr('action');
ev.preventDefault();
service.ajaxCall(url);
});
config / sites / yourSite / config.yaml
routeEnhancers:
PageTypeSuffix:
type: PageType
map:
form.json: 871