JavaScript类库 ChallsRequest 类 说明

此类结合了FLASH,实现了跨域获取数据的功能

下载

1.0.0版下载

以上版本中都有个调用实例供大家参考

反馈留言

有任何问题和意见请告诉我们,我们将更好的改进这些工具!

在线演示



查看数据文件 text.txt


版权申明

本类为开源代码,我们不向用户对于该类做任何承诺,用户使用类产生的一切后果,
我们也不承担任何责任 本类可以使用在任何系统中,包括商业系统,用户不用支付任何费用,
但是必须保证类被修改再次发布时,必须保留类中的头部注解和我们的版权信息, 我们保留对该类的所有权利!

类文档

公共属性

属性
method : String
控制 HTTP 式提交方法。 get / post
url : String
所请求的 URL。
headers : Object
要追加到 HTTP 请求的 HTTP 请求标头。
Version : String
类版本号

公共方法

方法
ChallsRequest()
创建一个新的对象

send(value : Object)
加载数据。

参数
value -请求时提交的数据,Object格式并加载数据。

返回值
false - 发送失败,原因FLASH未加载完成

addEvent(value : String,fu:function)
注册事件

参数
value - 事件类型
fu - 调用函数 ,

removeEvent(value : String,fu:function)
注销事件下某个函数调用

参数
value - 事件类型
fu - 调用函数 ,
removeEvents(value : String)
注销事件下所有函数调用

参数
value - 事件类型
close()
关闭进行中的加载操作。

事件类型

complete
在对所有已接所有收数据后进行调度。

返回值:
target - 对象本身
text - 接收的数据

httpstatus
send方法调用尝试通过 HTTP 访问数据时调度。

返回值:
target - 对象本身
status - 由服务器返回的 HTTP 状态代码。

error
调用导致致命错误并因此终止了下载,则进行调度。

返回值:
target - 对象本身
text - 要显示为错误消息的文本。

open
send方法和开始下载操作时调度。

返回值:
target - 对象本身

progress
在下载操作过程中收到数据时调度。

返回值:
target - 对象本身
bytesLoaded - 在侦听器处理事件时加载的项数或字节数。
bytesTotal - 如果加载进程成功,最终将加载的项目或字节总数。

securityerror
加载操作尝试从调用方安全沙箱外部的服务器检索数据。 可以通过在服务器上使用策略文件来解决此问题。

返回值:
target - 对象本身
text - 要显示为错误消息的文本。


跨域安全策略介绍

如果是跨域获取数据,需要在获取地址根目录放一个安全策略文件【crossdomain.xml】,点击下载

比如你的域名是 A.COM,你要获取B.COM域名下的数据,那就就需要把crossdomain.xml文件放到 B.COM域名的根目录下

实例代码

challs_LoadSwf('load.swf'); //加载FLASH文件

var a = new ChallsRequest(); //声明类

a.url="text.txt"; //设置地址

a.method="get"; //提交方式 get/post

a.headers={}; //设置要追加到 HTTP 请求的 HTTP 请求标头 例如:{"Content-Type":"text/html"} Object格式

a.addEvent("complete",function(e){ //声明事件
	document.getElementById('show').innerHTML+='加载完成! 
数据内容:
'+e.text+'

'; }) a.addEvent("open",function(e){ //声明事件 document.getElementById('show').innerHTML+='开始加载数据

'; }) a.addEvent("httpstatus",function(e){ //声明事件 document.getElementById('show').innerHTML+='HTTP状态代码:'+e.status+'

'; }) a.addEvent("error",function(e){ //声明事件 document.getElementById('show').innerHTML+='错误:'+e.text+'

'; }) a.addEvent("progress",function(e){ //声明事件 document.getElementById('show').innerHTML+='加载进度:'+e.bytesLoaded+'/'+e.bytesTotal+'

'; }) a.addEvent("securityerror",function(e){ //声明事件 document.getElementById('show').innerHTML+='安全沙箱错误:'+e.text+'

'; }) function goto(){ var b = {'id':1}; //将随 URL 请求一起传输的数据,Object格式 a.send(b); //发送 }
鄂ICP备06001565号