同じモジュールで定義されたメニュー パスへの ajax 呼び出しを行う必要があるモジュールを開発中です。
以下は hook_menu 関数です。
function staff_filter_menu(){
return $items['staff/filtering/results'] = array(
'page callback' => 'staff_filter_function',
'type' => MENU_CALLBACK,
);
}
function staff_filter_function(){
drupal_json( array('status' => 0, 'data' => "staff_filter_function RESPONDING!"));
}
そしてjsコード:
(function($){
$(document).ready(
function(){
$results = $.get('http://localhost/test1.localhost/?q=staff/filtering/results');
//$results = $.get('http://localhost/test1.localhost/?q=admin/config/people');
//$results = $.get('http://localhost/test1.localhost/admin/config/people');
});
})(jQuery);
最初の行 (定義したメニューへの呼び出し) が失敗し、firebug で 404 エラーが返されます。
そこで、既存のランダムメニューである以下の2メニューを試してみました。しかし、私はクリーンな URL で 1 つを機能させ、もう 1 つを非クリーンな URL で機能させました。クリーンな URL を持つ既存のメニュー セットも失敗しましたが、クリーンな URL ではない同じメニューは正常に機能しました。
私のローカルホストのインストールは、何を試してもクリーンな URL でうまく動作しないため、サイトがクリーンな URL を使用しているかどうかに関係なく (特に最終的にリリースする場合)、モジュールを柔軟にするテクニックが必要です。