0

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

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

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

。模块:

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");
                }
            });
4

1 回答 1

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"}';
}
于 2016-03-30T10:35:21.670 回答