#2
梦幻情缘2006-04-27 14:17
|
Modello.ajax 有如下特性:
1,跨浏览器 XMLHTTPRequest 调用
2,解决 XMLHTTPRequest 调用时的缓存问题
3,解决 XMLHTTPRequest 的跨域获取问题
4,解决跨域获取时的字符集问题
5,非常简单的调用接口和设置方法(不需对浏览器进行特殊设置,不用在 apache 服务器加入mod_rewrite等)
例子来说明 Modello.ajax 的用法
// 指定 jsproxy.php 的位置,如果需要使用跨域获取功能
Define('URLGET_PROXY', '/jsproxy.php');
// 回调函数
var callback = function(response, chunnel) {
alert(response.getAllHeaders());
alert(response.getText());
}
var url = '...';
var data = '';
var chunnel = null;
var headers = [];
var urlget = Class.get('modello.ajax.Urllib').urlget;
// 异步方式
urlget(url, data, callback, chunnel, headers);
// 同步方式
// var response = urlget(url, data, null, chunnel, headers);
// 如果请求失败,返回 false。
// 如果成功,异步调用返回 true,同步调用返回 response 对象
urlget 内部包含连接管理机制,当有空闲连接时就会重用之,如果没有则创建新的,这样可以节省浏览器资源。
chunnel 为命名通道,也就是 urlget 会重用 chunnel 指定的连接,如果该连接正忙着,则立刻返回 false。利用命名通道可以避免异步请求重叠的情况。
实际上大部分的连网操作都可以用 urlget 来完成。如果你想实现更负责的功能,可以通过扩展 Modello.ajax.Request 这个类来完成。
更详细的说明:http://www.ajaxwing.com/index.php?id=4
下载地址:http://prdownloads.sourceforge.net/modello/modello.ajax.tar.gz?download