Вы не можете отправить запрос AJAX модулю как таковой, вместо этого вы реализуете путь в своем модуле (используя hook_menu()
), предоставляете обратный вызов страницы для этого пути, который выводит ответ AJAXи затем вызовите этот путь в вашем вызове AJAX.Это очень простой пример:
function mymodule_menu() {
$items['ajax-test'] = array(
'access callback' => TRUE,
'page callback' => 'mymodule_ajax_callback',
'type' => MENU_CALLBACK
);
}
function mymodule_ajax_callback() {
$post_data = $_POST;
// Do something with the post data
$output = array('status' => 'OK');
// For Drupal 6
drupal_json($output);
exit();
// Or for Drupal 7, just in case you want to know
drupal_json_output($output);
drupal_exit();
}
Тогда ваш JS будет выглядеть так:
$(function(){
$("#one").click(function(){
$.ajax({
type: 'POST',
url: '/drupal/ajax-test',
dataType: 'json',
data: "test",
success:function(data) {
alert(data.status);
},
complete: function(data){
alert("complete")
}
});
});
});