依赖模型 | events |
使用频率 | 高 |
复杂程度 | 中低 |
成员类型 | 静态模块 |
ajax模块是用于异步获取指定url的内容的一个模块,它可以用于获取或者发送http数据.
Std.ajax方法接受一个Object参数.Std.ajax在创建时候无需使用 new Std.ajax 来创建实例,Std.ajax主函数在执行时会自动创建,并且返回实例对象.
(ajax数据请求仅在同域下才会发生作用,如果需要进行跨域请求,需要在服务端返回时候的http头上加上 Access-Control-Allow-Origin 属性.)
方法名称 | 成员类型 | 描述 |
::hook | static | 添加Std.ajax全局钩子 |
::unhook | static | 移除Std.ajax全局钩子 |
::get | static | 发起http get请求 |
::post | static | 发起http post请求 |
::json | static | ajax json数据请求 |
::load | static | ajax http文件请求 |
init | private | 初始化XmlHttpRequest对象 |
send | private | 发送XmlHttpRequest请求 |
http | public | XmlHttpRequest对象 |
elapsed | public | ajax请求消耗的时间 |
status | public | ajax当前状态 |
statusText | public | ajax当前状态文本 |
type | public | 获取或 设置ajax请求方式 |
url | public | 获取或设置ajax的url地址 |
data | public | 获取或设置ajax要发送的数据 |
cache | public | 获取或设置ajax缓存 |
responseText | public | ajax响应文本 |
responseContentLength | public | 服务端回复的数据包长度 |
responseUrl | public | 服务端回复的url地址 |
responseHeader | public | 服务端回复的http头 |
requestHeader | public | ajax请求时候的http头 |
accept | public | ajax请求的accept头 |
start | public | 开始任务 |
stop | public | 停止任务 |
abort | public | 中止任务 |
Object Std.ajax(Object option);
名称 | 类型 | 描述 |
type | String | http请求类型,通常情况下为get或者post,默认为get |
cache | Boolean | 是否缓存,默认为true(post类型无缓存) |
async | Boolean | 是否为异步请求,默认为true,如果为false,则为同步请求 |
url | String | 要请求的url地址 |
data | String,Array,Object | 需要发送的数据,通常为post要提交的数据,默认为空 |
delay | Number | 延迟多少时间(毫米)之后再进行请求,默认为0,如果大于0 |
format | String | 格式化返回的responseText,类型可以为text,json,默认为text |
polling | Boolean | 是否轮询请求(请求成功之后再次请求,直到手动调用stop方法),默认为false |
timeout | Number | ajax超时时间,默认为0(不超时) |
username | String | 如果http请求需要认证,那么该值将作为认证帐号 |
password | String | 如果http请求需要认证,那么该值将作为认证密码 |
dataType | String |
http头accept值,默认为* 该值可以为以下类型,或者自定义字符串 "text" 表示 "text/plain" "html" 表示 "text/html" "xml" 表示 "application/xml,text/xml" "json" 表示 "application/json,text/javascript" "script" 表示 "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" |
charset | String | 数据编码,默认为UTF-8 |
contentType | String | 内容类型,默认为application/x-www-form-urlencoded; charset=UTF-8 |
requestHeader | Object | 请求时候需要额外发送的http头 |
success | Function | 请求成功时执行的回调函数 |
error | Function | 请求失败时执行的回调函数 |
timeout | Function | 超时时执行的回调函数 |
complete | Function | 请求完成时执行的回调函数 |
beforeSend | Function | 发送请求之前执行的回调函数 |
afterSend | Function | 发送请求之后执行的回调函数 |
readyStateChange | Function | 请求状态改变时执行的回调函数 |
名称 | 回调参数 | 描述 |
readyStateChange | http : XmlHttpRequest 对象 | http读取状态改变 |
progress | http : XmlHttpRequest 对象 | ajax读取进度改变 |
success | responseText : 服务端返回的数据,text文本,或者json对象,取决于format选项 | |
error | http : XmlHttpRequest 对象 | ajax请求出错 |
complete | http : XmlHttpRequest 对象 | ajax请求完成 |
timeout | http : XmlHttpRequest 对象 | ajax请求超时 |
beforeSend | 在http请求前触发的事件 | |
afterSend | 在http请求发送之后触发的事件 |
Std.ajax({
url:"/1.txt",
success:function(responseText){
alert(responseText);
}
});
Std.ajax({
url:"/1.txt",
cache:false,
success:function(responseText){
alert(responseText);
}
});
Std.ajax({
url:"/1.txt",
requestHeader:{
header1:"text"
},
success:function(responseText){
alert(responseText);
}
});
Std.ajax({
url:"/1.php",
type:"post",
data:{
name:"std.ajax",
value:"test"
},
success:function(responseText){
alert(responseText);
}
});
Std.ajax({
url:"/1.php",
type:"post",
format:"json",
data:{
name:"std.ajax",
value:"test"
},
success:function(responseText){
alert(responseText);
}
});