关于bingo
bingo是遵循 BSD 协议发布的开放源代码的微型AJAX框架,适合初学者学习和常规的WEB开发应用。你可以免费、自由使用bingo,包括修改成你自己的版本。

小小的请求 -
如果你使用bingo开发产品,请在相关代码位置注释 bingo 版本号 www.ajaxbingo.com ,如果你觉得有比较经典的应用可以做成DEMO或你自己修改的bingo版本可以和大家分享,请留言给我

那些网站用bingo -
都联网

还有我的网站:)

BSD 协议的简介 -
BSD 开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了 BSD 协议的代码,或者以 BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件:

BSD 协议鼓励代码共享,但需要尊重代码作者的著作权。BSD 由于允许使用者修改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。

常用DEMO(由于新服务器数据库没有配置,有些DEMO无法正常演示)
名称
版本
备注
myTree树型演示[new]   作者:网无忌
获取新闻列表 /  
登录 /  
提交信息 / 暂有错误
读取JSON /  
bingo的无刷分页列表.NET版   作者QQ:114319
分页列表 v0.3  
SELECT无限联动 / 已修正在FF下运行不了的错误
C#版无限联动   作者:小白
多语言切换 /  
查询下拉提示 /  
标签浮动提示(仿网易新闻clickEye) v0.1  
列表编辑 /  
邮件群发 v0.2 已修正部分BUG
图片预览 / 演示版,非AJAX
     
 
AJAXCALL
语法:AJAXCALL(remoteFile,handleResponse,extArguments)
描述:向服务器发送一个AJAX请求,由remoteFile处理并将处理结果返回给回调函数handleResponse处理。
参数说明:
remoteFile:请求的远端地址(注意,如果没有用服务器代理访问,需同一个域下);
handleResponse:回调函数,可以是函数名、函数、函数名的字符串;
extArguments:扩展参数,常见扩展有isCache:是否需要缓存,默认不缓存;isXML:是否返回XML文档,默认TEXT;method:发送方式,默认GET;statePoll:状态轮询处理函数;attach:代传参数,可以向handleResponse传递任何对象,利用handleResponse的第二个参数接受。param可以是对象的名值对模式或字符串模式,名值对模式例如{"isCache":false,"isXml":true},字符串模式例如"isCache=false, isXml=true ",不推荐使用字符串模式;
例子:
1. 用bingo.js 创建第一个AJAX程序
2. GET和POST
3. 为什么中文是乱码?
4. 一个处理JSON的例子
5. 一个状态轮询的例子
AJAXFORM
语法:AJAXFORM(formID,handleResponse,extArguments)
描述:将表单数据POST到远端文件,并将处理结果返回给回调函数handleResponse处理。
参数说明:
formID:表单的ID;
handleResponse:回调函数,可以是函数名、函数、函数名的字符串;
extArguments:扩展参数,常见扩展有isXML:是否返回XML文档,默认HTML;statePoll:状态轮询处理函数;attach:代传参数,可以向handleResponse传递任何对象,利用handleResponse的第二个参数接受。param可以是对象的名值对模式或字符串模式,名值对模式例如{"isXml":true},字符串模式例如"isXml=true ",不推荐使用字符串模式。和AJAXCALL不同,AJAXFORM的扩展参数没有method和isCache;
例子:
1. 一个AJAXFORM的例子
AjaxCore
描述:AjaxCore是bingo的核心对象,AJAXCALL和AJAXFORM是AjaxCore的简单运用,AjaxCore提供了一些更高级的方法和接口。
例子:1.创建对象 var oneAjax= new AjaxCore(); 2.初始化 oneAjax.init(url,handleResponse,config,attach); 3. 获取更多接口 oneAjax.abort();
接口:
init:初始化并运行一个AJAX对象;
abort:取消当前正在运行的AJAX;
state:返回XMLHTTP请求的当前状态:1 (初始化),2 (发送数据),3 (数据传送中),4 (完成)。例如:alert(oneAjax.state())
status: 返回当前请求的http状态码
destory: 销毁当前的XMLHTTP对象
附加功能

$('div') 等同于 document.getElementById('div')。

$F('div') 等同于 document.getElementById('div').value。

getTag(XMLDoc ,Tag, i) 获取XML文档指定位置的TAG的节点和值。例子

$U(str) 等同于encodeURIComponent(escape(str))。

$E(str) 等同于encodeURIComponent(str)。

$C(tag,style) 等同于document.createElement(tag)+bindStyle,如果tag参数为空则默认创建一个DIV节点,例如:
var div=$c("div",{"backgroundColor":"red","width":"35px"});document.body.appendChild(div) ;

bindStyle(ele,style) 给指定对象绑定STYLE样式,例如:bindStyle(ele,{“width”:"100px","left":"20px","textAlign":"center","float":"left","alpha":"0.8","cursor":"pointer"})
该函数已经对 "float","alpha","cursor"的浏览器差异问题作了判断,"alpha":"0.8"相当于filter: Alpha(Opacity=80);和
-moz-opacity:0.8 例子

$getCSS(rule,name) 获取CSS样式表中的一个rule的值,比如$getCSS(".test","height");$getCSS("#ct #test","width")。$css,$getcss同样可以用

browser浏览器判断,browser.浏览器名,将返回布尔值,例如if(browser.IE){alert("IE" )}。browser.IE;browser.FF,browser.firefox,browser.MF;browser.OT,browser.other。

getElementsByClass(searchClass,node,tag) 获取一个节点下的所有CLASS为指定名称的节点的数组。