Drupal 7 hook_menu()抛出404

时间:2016-03-30 10:07:41

标签: ajax post drupal drupal-7 hook-menu

我试图通过ajax调用访问它,只需通过url访问它, 它总是给我一个404

我已多次刷新我的缓存,甚至尝试删除并重新添加模块(因为我遇到了其他模块的问题并阅读了有关该问题的其他响应)

我也在互联网上查了一下,但我似乎无法找到任何解决方案 (模块名称:TTK_rest)

.module:

function TTK_rest_menu() {  
    $items = array();
    $items['TTK_rest_api/TTK_task_progression'] = array(
        'page callback' => 'TTK_task_progression_view',
        'access arguments' => array('access content'),
        'access callback' => TRUE,
        'type' => MENU_CALLBACK,
    );

    return $items;
}

function TTK_task_progression_view(){

    return '{"pom":"pom"}';
}

和ajax调用它:

$.ajax({                 
                url:'/TTK_rest_api/TTK_task_progression',                   
                data: {"getProgress": "true"},//, "event_id":settings['TTK_task_progression']['jsEvent_id']
                type: "POST",
                contentType: "JSON",
                success: function(data){
                    var $data = $(data);
                    console.log(data);




                },
                error: function(err){
                    console.log("neupe, try again");
                }
            });

1 个答案:

答案 0 :(得分:0)

终于找到了解决方案(经过多个小时的搜索后发布了问题,如果我知道我会找到一个答案,我很快就会问它..仍然会留下它如果有人有同样的问题,请回复

解决问题的方法是我必须让我的函数名称必须具有模块名称前缀

注意:我有一个名为' TTK_task_progression'的其他模块,可能是我遇到的问题的根源

溶液:

function TTK_rest_menu() {  
    $items = array();
    $items['TTK_rest_api/TTK_task_progression'] = array(
        'page callback' => 'TTK_rest_progression', // <- changed
        'access arguments' => array('access content'),
        'access callback' => TRUE,
        'type' => MENU_CALLBACK,
    );

    return $items;
}

function TTK_rest_progression(){ // <- changed

    return '{"pom":"pom"}';
}