Drupal中使用ajax效果-drupal_json

在Drupal里使用ajax技术非常方便,因为Drupal提供了drupal_json()函数。 大家可以在Drupal专业开发指南的“Using Jquery”一章里看到这个,我也是从那里学到的。 闲话少说,我直接贴个简单的范例,相信大家就能看懂流程了。如果你对ajax不熟悉,那么最好先去了解下它是什么东东。

来源:似水流云

在Drupal里使用ajax技术非常方便,因为Drupal提供了drupal_json()函数。

大家可以在Drupal专业开发指南的“Using Jquery”一章里看到这个,我也是从那里学到的。

闲话少说,我直接贴个简单的范例,相信大家就能看懂流程了。如果你对ajax不熟悉,那么最好先去了解下它是什么东东。

HTML部分:

<a title="hello" href="get_json_menu" >点击查看效果</a>
<div id="json-container"></div>

JS部分:

$(document).ready(function(){
$('.json').click(function() {
var atitle = $(this).attr('title');
$('#video-container').html('<img src="***/images/loading.gif" />');
$.ajax({
type: 'POST',
url:this.href,
dataType: 'json',
data: 'title='+atitle,
success: change,
});
return false;
});

var change = function(data) {
$('#json-container').html(data.exm);
}
});

module部分(定义ajax调用的路径,用来接收参数,返回内容变量):

<?php
/**
* Implementation of hook_menu()
*/
function modulename_menu() {
$items['get_json_menu'] = array(
'page callback' => 'get_json',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}

function get_json() {
$video_tid = $_POST['title'];
$output = $video_tid;
drupal_json(array('exm' => $output));
}
?>

订阅评论
提醒
guest的头像

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x