初探JAXER

    昨天更新Aptana的时候发现Aptana网站上多了一个JAXER,不知为何物。google了一把也只找到一个介绍的翻译,再回网站上看了一下,原来是22日刚发布的。不过看过简单介绍后,觉得最吸引人的地方就是这几张图



     直接运行htm页面,服务器端运行的javascript,服务器端和浏览器端都能运行的方法,还有可以从浏览器端调用的服务器端的方法,有点意思,感觉有点像asp.net。马上研究了一下它的API文档( http://aptana.com/reference/jaxer/api/Jaxer.index-frame.html),基本的东西都全了,数据库支持mySql和SQLite。
    SQLite使用太方便了,找了一个SQLiteSpy带的world.db3数据库,使用最新的Aptana(已经包括了JAXER插件和服务器),结合jquery做了一个简单的例子。

全部代码如下:
 1 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
 2 < html >
 3      < head >
 4          < meta  http-equiv ="Content-Type"  content ="text/html; charset=utf8" />
 5          < title > Untitled Document </ title >
 6          < script  language =javascript  src =jquery.js >
 7        
</ script >
 8          < script  runat =server-proxy >
 9            function getTable(rows){
10                var a = new Array();
11                a[0= rows;
12                var conn = new Jaxer.DB.SQLite.Connection({
13                    PATH: "E:\\test\\sqlite\\world.db3"
14                }
);
15                var rs = conn.execute("Select * from [City] where id <= ?", a);
16                return (rs.toHTML());
17            }

18        
</ script >
19          < script  language =JavaScript >
20            $(function(){
21                $("#button1").click(function(){
22                    $("#div1").append(getTable(1000));
23                }
);
24                $("#button2").click(function(){
25                    getTableAsync(setdata, 1000)
26                }
);
27                $("#button3").click(function(){
28                    $("#div1").html("");
29                }
);
30            }
);
31            function setdata(table){
32                $("#div1").html(table);
33            }

34            
35        
</ script >
36      </ head >
37      < body >
38          < input  type =button  id =button1  value =同步方法 >< input  type =button  id =button2  value =异步方法 >< input  type =button  id =button3  value =清除 >
39          < div  id =div1 >
40          </ div >
41      </ body >
42 </ html >
43

运行截图:

    详细的就不说了,关键是 <script runat=server-proxy>...</script>这部分,在客户端生成了这么两个方法:
function  getTable()  {return Jaxer.remote("getTable", arguments);}
function  getTableAsync(callback)  {return Jaxer.remote("getTable", arguments, callback);}

    这样在浏览器端的js就可以直接使用了。
    虽然还有很多问题,最讨厌的就是生成的页面上有全部的clientFramework的源代码,虽然是压缩的,但看着还是很麻烦,估计以后的版本这个是首先要修改的。

    上面的例子可以到这里 http://download.csdn.net/user/luq885/直接下载,就是页面和一个jquery.js。

    再说一下用JAXER服务器运行的方法,到 http://aptana.com/jaxer/download这里下载一个JAXER的服务器端,附带着Apache服务器,直接解压后运行 StartServers.bat就可以启动,把上面那个页面和jquery.js放到public文件夹下,访问 http://127.0.0.1:8081/test2.html就可以看到效果。
   


转载于:https://www.cnblogs.com/luq885/archive/2008/01/25/1052288.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值