Drupal 7 hook_menu() 抛出 404
Drupal 7 hook_menu() throws a 404
我试图通过 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");
}
});
终于找到了解决方案(经过几个小时的搜索后发布了问题,如果我知道我会这么快找到答案我就不会问了..仍然会留下一个回应以防有人遇到同样的问题
问题的解决方案是我必须让我的函数名必须有模块名前缀
注意:我还有一个名为 '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"}';
}
我试图通过 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");
}
});
终于找到了解决方案(经过几个小时的搜索后发布了问题,如果我知道我会这么快找到答案我就不会问了..仍然会留下一个回应以防有人遇到同样的问题
问题的解决方案是我必须让我的函数名必须有模块名前缀
注意:我还有一个名为 '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"}';
}