perl模块之CGI::Ajax来实现异步通信
浏览:2875次 出处信息
ajax全名为Asynchronous JavaScript and XML ,异步javascript和xml.这是web2.0的主流技术.在perl中就不用自己实现了.perl中就有很好用的模块.这样我们就不用花大量的时间来研究浏览器和服务器上的perl怎么交互了.
我们只要安装CGI::Ajax这个模块就能实现一个java的事件和一个perl的程序关联起来.perl的模块程序自动生成javascript调用的代码,这样我们可以多关注程序本身的功能.
#cpan CGI::Ajax
建议参考文章:http://www.perl.com/pub/a/2006/03/02/ajax_and_perl.html
下面是cpan中的例子,我用中文在注解一下.
以下是代码片段: use strict; use CGI; #所有能生成html的模块都行.为了方便我们用最常用的CGI模块 use CGI::Ajax; my $cgi = new CGI; my $pjx = new CGI::Ajax( ’exported_func’ => \&perl_func ); #上面最重要了.上面’exported_func’是一个ajax的功能函数.就是一个事件,关联到perl_func这个功能上面 print $pjx->build_html( $cgi, \&Show_HTML); #这是给下面的show_html中的html输出成模块的网页. # 这个函数收到的就是ajax提交过来的内容,然后处理,处理的结果是在javascript中 ’exported_func’定义的,不急下面可以见到 sub perl_func { my $input = shift; # do something with $input my $output = $input . " was the input!"; return( $output ); } sub Show_HTML { my $html = <<EOHTML; <HTML> <BODY> Enter something: <input type="text" name="val1" id="val1" onkeyup="exported_func( [’val1’], [’resultdiv’] );"> #注意,这个地方.exported_func的函数是上面关联的内容.其中之一val1是DOM中的ID为val1的内容.resultdiv是id为resultdiv的内定. #val1是源,是输入.resultdiv为输出.输出后的内容会放到id为resultdiv的div中. <br> <div id="resultdiv"></div> </BODY> </HTML> EOHTML; return $html; } |
perl的CGI::Ajax注意
最重要的内定.多个输入,输入的内容为dom中的中的id的值.目的为输出时的dom的值.
onClick=”JSFUNC(['source1','source2'], ['dest1','dest2']);”
如果你想自己控制输出,可以在输入的时候['resultdiv'] ,写成一个javascript的函数,用那个函数对输出进行了处理.如下
onClick=”exported_func(['input1'],[js_process_func]);”
ajax中文的处理
my @headers=( “text/html; charset=UTF-8″, );
print $ajx->build_html( $cgi, \&Show_HTML ,@headers);#记的@headers前不要加\,那样就变成了引用,中文还是会不正常的.
建议继续学习:
- perl更新/修改/删除文本文件内容 (阅读:9437)
- 10个强大的Ajax jQuery文件上传程序 (阅读:7757)
- perl大牛flw传说 (阅读:6514)
- perl模块Getopt::Std用法及实例-从命令行读取参数模块 (阅读:5882)
- [Perl] Template::Toolkit 模板技术. (阅读:5368)
- 在perl中连接和使用sqlite做数据存储 (阅读:5056)
- ajax-cross-domain (阅读:4985)
- Perl命令行常见用法及技巧 (阅读:4807)
- perl模块之MIME::Lite发送有附件的邮件 (阅读:4444)
- perl的expect使用方法,实现非交互式登录。 (阅读:4494)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:介绍几个QQ开源项目及协议下载
后一篇:自动化测试之惑 >>
文章信息
- 作者:扶凯 来源: 扶凯
- 标签: Ajax perl
- 发布时间:2010-01-05 22:26:01
建议继续学习
近3天十大热文
- [55] Oracle MTS模式下 进程地址与会话信
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] 如何拿下简短的域名
- [53] android 开发入门
- [52] Go Reflect 性能
- [52] 图书馆的世界纪录
- [49] 【社会化设计】自我(self)部分――欢迎区
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [38] 程序员技术练级攻略
- [32] 视觉调整-设计师 vs. 逻辑