Javascript 如何向Drupal6中的特定模块发送ajax post请求?
我想向Drupal6中名为sampleTest的模块发送一个ajax post请求。 我尝试了一些代码,但不知道如何将模块url放入jQueryAjax函数中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
<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。这个答案绝对值得标记为正确答案!谢谢!