Javascript 如何向Drupal6中的特定模块发送ajax post请求?

Javascript 如何向Drupal6中的特定模块发送ajax post请求?,javascript,ajax,drupal,drupal-6,Javascript,Ajax,Drupal,Drupal 6,我想向Drupal6中名为sampleTest的模块发送一个ajax post请求。 我尝试了一些代码,但不知道如何将模块url放入jQueryAjax函数中 <script type="text/javascript"> $(function(){ $("#one").click(function(){ $.ajax({ type: 'POST', url: 'http://localhost/drupal

我想向Drupal6中名为sampleTest的模块发送一个ajax post请求。 我尝试了一些代码,但不知道如何将模块url放入jQueryAjax函数中

<script type="text/javascript">
$(function(){
    $("#one").click(function(){
        $.ajax({ 
            type: 'POST', 
            url: 'http://localhost/drupal/www/admin/build/modules/module/get/contact', 
            dataType: 'json', 
            data: "test",
            success:function(data) {
                alert("123");
            },
            complete: function(data){
                alert("complete");  
            } 
        });
    });
});
</script>

$(函数(){
$(“#一”)。单击(函数(){
$.ajax({
键入:“POST”,
网址:'http://localhost/drupal/www/admin/build/modules/module/get/contact', 
数据类型:“json”,
数据:“测试”,
成功:功能(数据){
警报(“123”);
},
完成:功能(数据){
警报(“完成”);
} 
});
});
});

您不能向模块本身发送AJAX请求,而是在模块中实现一个路径(使用),为输出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")  
      }
    });
  });
});

这个问题应该转移到drupal.stackexchange.com。这个答案绝对值得标记为正确答案!谢谢!