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 に答える