drupal ajax json异步调用
原文http://hellodrupal.info/node/149
模块文件结构:
- sitemode.info
- sitemode.module
- test_ajax.js
sitemode.info
; $Id$ name = Sitemod description = A content type for jokes. package = Pro Drupal Development core = 6.x
sitemode.module
<?php function sitemod_menu() {// 建立一个模块 sitemod$items = array();$items['ajax'] = array('page callback' => 'sitemod_callback_ajax','access arguments' => array('access content'),'type' => MENU_CALLBACK,);$items['test/ajax'] = array(//调用form效果 见下图'page callback' => 'drupal_get_form','page arguments' => array('get_ajax_form'),// 得到定义好的表单'access arguments' => array('access content'),'type' => MENU_CALLBACK,);return $items; }function get_ajax_form(){//返回form选选项drupal_add_js(drupal_get_path('module', 'sitemod') . '/test_ajax.js');//加载js文件$form['note_book'] = array('#type' => 'radios','#title' => t('选择分类'),'#default_value' => 'IBM','#options' => array(t('IBM'), t('Dell'), t('Sony'),t('HP')),'#description' => t('选择你喜欢的品牌'),);return $form; }function sitemod_callback_ajax() { $id = $_POST['id']; //ajax post数据 switch($id){case 0:drupal_json(array('html' => drupal_get_form('ibm_form')));//josn数据。formexit;break;case 1:drupal_json(array( 'html' => drupal_get_form('dell_form')));exit;break; }}function ibm_form(){//定义表单$form['ibm'] = array('#type' => 'checkboxes', '#title' => t('IBM最新型号电脑'), '#default_value' => array('T410'),'#options' => array('T400' => t('T400'), 'T410' => t('T410'), 'X200' => t('X200'),'X201' => t('X201'),'T410S' => t('T410S'),),'#description' => t('选择你喜欢的IBM型号'),);$form['submit'] = array('#type' => 'submit','#value' => t('保存选择的信息'),'#weight' => 40,);$form_state['redirect'] = 'test/view'; return $form; }function dell_form(){//定义表单$form['dell'] = array('#type' => 'checkboxes', '#title' => t('Dell电脑'), '#default_value' => array('d1'),'#options' => array('d1' => t('d1'), 'd2' => t('d2'), 'd3' => t('d3'),),'#description' => t('选择你喜欢的dELL型号'),);$form['submit'] = array('#type' => 'submit','#value' => t('保存选择的信息'),'#weight' => 40,);return $form;//返回表单 }
test_ajax.js
if(Drupal.jsEnabled) { $(document).ready(function () {$('input:radio[name=note_book]').click(function () {var getSubmit = function(data) {$('#footer').html(data.html);}$.ajax({type: 'POST',url: '/drupal/ajax',dataType: 'json',success: function(msg){//alert( msg);$("#main").prepend(msg.html);},data: {'id': $('input:radio[name=note_book]:checked').val(),},});});}); }
完
转载于:https://www.cnblogs.com/wangkangluo1/archive/2012/11/26/2789092.html
drupal ajax json异步调用相关推荐
- Ajax 网页异步调用
Ajax的jquery的api和例子参考:http://api.jquery.com/jQuery.ajax/ 15.1. Scripting LanguagesSo far, pretty much ...
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- jquery ajax异步调用
写程序的第一步都要知其然,至于知其所以然就要看个人的爱好了.下面说一下web开发中经常用的ajax. 这里是用的jquery框架实现的ajax异步调用.废话少说先上代码.(asp.net开发) var ...
- 精通 Grails: 用 JSON 和 Ajax 实现异步 Grails
本文讨论 Grails 对于其互补技术 JSON 和 Ajax 的支持.在前几期的 精通 Grails 系列文章中,JSON 和 Ajax 都扮演支援者的角色,而这一次,它们担任主角.您将使用内置的 ...
- javascript-前后端交互-异步调用Ajax与Promise比较
javascript-前后端交互-异步调用Ajax与Promise比较 目录 文章目录 1.异步调用 1.1.使用场景 1.2.Ajax使用 1.2.1.启动后台 1.2.2.编写前端测试页面 1.3 ...
- Ajax异步调用Web服务的例子
我这里是看的Dflying Chen的使用ASP.NET AJAX异步调用Web Service和页面中的类方法的一系列文章写出来的例子. 请Dflying Chen别介意.例子中没有最后一篇文章的的 ...
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...
本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第三章<异步调用Web Service和页面中的类方法>,请同时 ...
- ajax一步调用,ajax异步调用
ajax异步调用 内容精选 换一换 当前示例是单模型情况下推理Engine的实现代码.在多模型情况下,如果需要参考该示例,您需要注意以下几点:声明preOutBuffer变量时,不能带有static关 ...
- 使用Ajax异步调用
使用Ajax异步调用 一.Ajax介绍 Ajax指异步Javascript和XML,Ajax带来用户体验的改变,页面进行局部的异步刷新: AJAX = DHTML (HTML.CSS.JavaScri ...
最新文章
- 《敏捷制造——敏捷集成基础结构设计》——1.2相关问题的国内外研究现状
- 错误类型:“系统找不到 Microsoft.Office.Interop.Word(转)
- tomcat6 优化初步
- [leetcode]203. Remove Linked List Elements链表中删除节点
- diy实现spring依赖注入
- 做一个公众号大概要多少钱_公众号流量主一个月可以赚多少钱?
- php ci上传图片,CodeIgniter上传图片成功的全部过程分享
- bLue的除法算术题 数学
- 漫谈忠诚:猪八戒为什么总想离队
- 让onclick响应Enter键
- s5p6818开发板uboot网络开通
- TP LINK交换机 console 超级终端链接设置
- 企业部署WAPI无线网络的技术详析
- 小米6显示服务器出错,小米6解锁BL显示未连接手机解决办法以及各种小技巧汇总......
- 英特尔hd630驱动_Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)...
- 华为rh5885服务器oid_高性能全冗余 华为RH5885 V3服务器解析
- 11 MySQL视图
- file_get_contents() 报错failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supp
- 如何通过图片定位位置
- 从零开始学前端第十七讲--微信小程序开发入门
热门文章
- 今日逢君君不识下一句
- 企业创新流程的“正向推”与“反向推”思考
- 为什么越有钱的人负债越多?
- 【以太坊源码阅读】椭圆曲线加密和EIP155
- html退出登录_退出登录 0152
- cte公用表表达式_CTE SQL删除; 在SQL Server中删除具有公用表表达式的数据时的注意事项
- 数据库备份恢复策略_如何根据备份策略选择和检查正确的数据库恢复模型
- kubernetes 安装 helm,ingress
- 扭曲效果 效率优化 GrapPass,CommandBuffer对比
- BootStrap-