Ajax底层代码简析(可直接用的框架)
2006-05-25 11:42
204 查看
近来忙毕业设计,又很长时间没写blog了。
学ajax也有段时间了,理论是看了不少,也对MagicAjax框架做了下了解,当然要吃透它还是有很长的路要走。
一直觉得对Ajax底层的代码应该总结一下。其实很底层的代码是比较简洁明了的,但功能却比较简单。一般我们都用Send(null).以前我一直在想我怎么来控制当异步传送Http请求时要调用的后台的指定的(我想用的)代码,现在终于明白了(唉,对自己的智商表示怀疑),那就要在Send方法中传送参数。参数中应该包括事件的触发者和它的参数,还有就是ViewState的值。
具体代码如下(里面我加了些注释,后面不再解释):
1__PageForm = null;
2
3function AjaxCallObject()
4
8AjaxCallObject.prototype.Init = function()
9
13AjaxCallObject.prototype.GetHttpObject = function()
14
30AjaxCallObject.prototype.HookAjaxCall = function()
31
37// Replaces normal __doPostBack
38AjaxCallObject.prototype.DoPostBack = function(eventTarget, eventArgument)
39
43AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument)
44
147AjaxCallObject.prototype.OnComplete = function(responseText, responseXml)
163
168
171AjaxCallObject.prototype.OnError = function(status, statusText, responseText)
172
185AjaxCallObject.prototype.ReadyStateChange = function()
186
218AjaxCallObject.prototype.EncodePostData = function(data)
219
223AjaxCallObject.prototype.SetHtmlOfPage = function(html)
224
230var AJAXCbo = new AjaxCallObject();
代码长了点,不过可以直接用了,只要在相应的后台代码中给服务器控件加段代码就成了。比如说,Web页面上放了个按钮控件,ID为Button1,那么在后台代码的Page_Load中加上下面一段代码:
Button1.Attributes.Add("onclick","modify();");
这里的modify是我在页面的html里定义的一个方法,其内容是:
<script>
function modify()
</script>
到这就结束了,你可以看到无刷新更新的效果了。接下来的工作就是想办法更进一步,只把更新过的值传到相应的控件,该怎么做还需要继续努力了,呵呵。
水平有限,难免有错误,望能和大家多多交流!
例子代码下载:/Files/fxb248/ajaxtestaaa.rar
学ajax也有段时间了,理论是看了不少,也对MagicAjax框架做了下了解,当然要吃透它还是有很长的路要走。
一直觉得对Ajax底层的代码应该总结一下。其实很底层的代码是比较简洁明了的,但功能却比较简单。一般我们都用Send(null).以前我一直在想我怎么来控制当异步传送Http请求时要调用的后台的指定的(我想用的)代码,现在终于明白了(唉,对自己的智商表示怀疑),那就要在Send方法中传送参数。参数中应该包括事件的触发者和它的参数,还有就是ViewState的值。
具体代码如下(里面我加了些注释,后面不再解释):
1__PageForm = null;
2
3function AjaxCallObject()
4
8AjaxCallObject.prototype.Init = function()
9
13AjaxCallObject.prototype.GetHttpObject = function()
14
30AjaxCallObject.prototype.HookAjaxCall = function()
31
37// Replaces normal __doPostBack
38AjaxCallObject.prototype.DoPostBack = function(eventTarget, eventArgument)
39
43AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument)
44
147AjaxCallObject.prototype.OnComplete = function(responseText, responseXml)
163
168
171AjaxCallObject.prototype.OnError = function(status, statusText, responseText)
172
185AjaxCallObject.prototype.ReadyStateChange = function()
186
218AjaxCallObject.prototype.EncodePostData = function(data)
219
223AjaxCallObject.prototype.SetHtmlOfPage = function(html)
224
230var AJAXCbo = new AjaxCallObject();
代码长了点,不过可以直接用了,只要在相应的后台代码中给服务器控件加段代码就成了。比如说,Web页面上放了个按钮控件,ID为Button1,那么在后台代码的Page_Load中加上下面一段代码:
Button1.Attributes.Add("onclick","modify();");
这里的modify是我在页面的html里定义的一个方法,其内容是:
<script>
function modify()
</script>
到这就结束了,你可以看到无刷新更新的效果了。接下来的工作就是想办法更进一步,只把更新过的值传到相应的控件,该怎么做还需要继续努力了,呵呵。
水平有限,难免有错误,望能和大家多多交流!
例子代码下载:/Files/fxb248/ajaxtestaaa.rar
相关文章推荐
- 框架底层综合+快速开发+代码重用框架-设计(Service)层)
- ASP.NET Ajax实例—Javascript直接调用服务器C#代码
- 传统Ajax编程的步骤(不用框架实现代码)
- 写了几年代码了,苦苦追寻,应该沉淀下来了,好好研究。net底层框架,以及较好的分层框架
- ASP.NET Ajax实例—Javascript直接调用服务器C#代码
- AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架
- DirectX游戏开发之代码的框架简析
- 框架底层综合+快速开发+代码重用框架-设计(Dao层)
- Ajax无刷新分页偷懒版(该例子写于YII框架下,其他框架请自行修改部分代码)
- EasyUI框架 使用Ajax提交注册信息的实现代码
- 框架底层综合+快速开发+代码重用框架-设计(Model层)
- JQuery .ajax方法直接调用aspx后台代码
- java连接MySQL数据库DB类底层框架代码实现
- TGraphicControl(自绘就2步,直接自绘自己,不需要调用VCL框架提供的函数重绘所有子控件,也不需要自己来提供PaintWindow函数让管理框架来调用)与TControl关键属性方法速记(Repaint要求父控件执行详细代码来重绘自己,还是直接要求Invalidate无效后Update刷新父控件,就看透明不透明这个属性,因为计算显示的区域有所不同)
- ASP.NET Ajax实例—Javascript直接调用服务器C#代码
- CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
- ajax同步开发——json+对应的处理方式直接贴上被我滥用的代码标本吧:
- javaweb开发中异步ajax请求之DWR框架详解(通过直接访问java类实现异步请求处理)
- ASP.NET Ajax实例—Javascript直接调用服务器C#代码
- Android原生”SlidingMenu”框架的代码简析