我试图通过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");
}
});
答案 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"}';
}