Php 类型3 6.2 eid AjaxDispatcher忽略控制和操作

Php 类型3 6.2 eid AjaxDispatcher忽略控制和操作,php,ajax,controller,typo3,eid,Php,Ajax,Controller,Typo3,Eid,我试图让Ajax函数调用Typo3扩展中的某个控制器。 经过几次尝试,我决定使用powermail使用的同一个Ajax调度器。它确实显示了一个输出,但它完全忽略了假定的控制器和操作。 我的扩展中有两个控制器,目前有三个操作: 类别=>列表 Family=>列表,比较 PHP: Ajax没有显示family->compare,而是显示category->compare。我不明白为什么 有人能帮忙吗?我已经研究这个问题两天多了…我不知道你的确切意思。如果希望在单击链接时触发AJAX请求,可以在操作的

我试图让Ajax函数调用Typo3扩展中的某个控制器。 经过几次尝试,我决定使用powermail使用的同一个Ajax调度器。它确实显示了一个输出,但它完全忽略了假定的控制器和操作。 我的扩展中有两个控制器,目前有三个操作: 类别=>列表 Family=>列表,比较

PHP:

Ajax没有显示family->compare,而是显示category->compare。我不明白为什么


有人能帮忙吗?我已经研究这个问题两天多了…

我不知道你的确切意思。如果希望在单击链接时触发AJAX请求,可以在操作的视图中执行以下操作。在本例中,脚本将输出AJAX响应

1) 创建包含以下内容的ViewHelper:

 $uriBuilder = $this->controllerContext->getUriBuilder();
 $uri = $uriBuilder->uriFor(
                'title', 
                array("param1" => $value1, "param2" => $value2), 
                '<controllerName>', 
                '<extKey>', 
                '<pluginName>');
 return '<a id="link" href="'.$uri.'">';

正如我的错误报告中指出的那样,它没有在6.2中实现:

名称空间供应商\Myextension\Utility;只是用作范例,对吗?@rob ot:是的,只是一个例子。
var read = 'string';
var requestData = {'value': read};
var currentUrl = window.location;
$.ajax({
url: currentUrl,
type: 'POST',
data: {
    eID: "ajaxDispatcherMyextension",
    request: {
        controller: 'Family',
        action: 'compare',
        arguments: {
            'test': requestData
        }
    }
},
dataType: 'html',
success: function(success) {
    console.log('success ' + success);
    $('#test').html(success);
}
});
 $uriBuilder = $this->controllerContext->getUriBuilder();
 $uri = $uriBuilder->uriFor(
                'title', 
                array("param1" => $value1, "param2" => $value2), 
                '<controllerName>', 
                '<extKey>', 
                '<pluginName>');
 return '<a id="link" href="'.$uri.'">';
function loadurl(dest, obj) {
    try {
        xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
        console.log(e);
    }
    xmlhttp.onreadystatechange = function() {
        triggered(obj);
    };

    xmlhttp.open("GET", dest);
    xmlhttp.send(null);
}

function triggered(obj) {

    if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
        document.getElementById(obj).innerHTML = xmlhttp.responseText;
    }
}

window.addEventListener("load", function() {
    var item = document.getElementsById('link');
    item.addEventListener('click', function(event) {
        event.preventDefault();
        var href = this.childNodes[1].getAttribute("href");
        loadurl(href, 'idOfOutputContainer');
    }
}