mui.ajax( url [,settings] )
-
url:请求发送的目标地址
-
settings:key/value格式的json对象,用来配置ajax请求参数,支持的参数如下:
-
-
data:发送到服务器的业务数据;
-
type:请求方式,目前仅支持'GET'和'POST',默认为'GET'方式;
-
dataType:预期服务器返回的数据类型;如果不指定,mui将自动根据HTTP包的MIME头信息自动判断;
支持设置的dataType可选值:-
"xml": 返回XML文档
-
"html": 返回纯文本HTML信息;
-
"script": 返回纯文本JavaScript代码
-
"json": 返回JSON数据
-
"text": 返回纯文本字符串
-
-
success:Type: Functon(Anything data,String textStatus,XMLHttpRequest xhr)
请求成功时触发的回调函数,该函数接收三个参数:-
data:服务器返回的响应数据,类型可以是json对象、xml对象、字符串等;
-
textStatus:状态描述,默认值为'success'
-
xhr:xhr实例对象
-
-
-
error:Type: Functon(XMLHttpRequest xhr,String type,String errorThrown)请求失败时触发的回调函数;
该函数接收三个参数:- xhr:xhr实例对象 - type:错误描述,可取值:"timeout", "error", "abort", "parsererror"、"null" - errorThrown:可捕获的异常对象
-
timeout:Type: Number,请求超时时间(毫秒),默认值为0,表示永不超时;若超过设置的超时时间(非0的情况),依然未收到服务器响应,则触发error回调;
-
headers:Type: Object,格式为:
{'Content-Type':'application/json'}
, -
基本格式如下:
mui.ajax(url,{ data:{ username:'username', password:'password' }, dataType:'json',//服务器返回json格式数据 type:'post',//HTTP请求类型 timeout:10000,//超时时间设置为10秒; success:function(data){ //服务器返回响应,根据响应结果,分析是否登录成功; ... }, error:function(xhr,type,errorThrown){ //异常处理; console.log(type); } });
-
mui.post( url [,data] [,success] [,dataType] )
mui.post()
方法是对mui.ajax()
的一个简化方法,直接使用POST
请求方式向服务器发送数据、且不处理timeout
和异常(若需处理异常及超时,请使用mui.ajax()
方法)mui.post('http://server-name/login.php',{ username:'username', password:'password' },function(data){ //服务器返回响应,根据响应结果,分析是否登录成功; ... },'json' );
mui.get( url [,data] [,success] [,dataType] )
mui.get()
方法和mui.post()
方法类似,只不过是直接使用GET
请求方式向服务器发送数据、且不处理timeout
和异常(若需处理异常及超时,请使用mui.ajax()
方法)。如下为获得某服务器新闻列表的代码片段,服务器以json格式返回数据列表:mui.get('http://server-name/list.php', {category:'news'}, function(data){ //获得服务器响应 ... },'json' );
mui.get( url [,data] [,success] )
mui.getJSON()
方法是在mui.get()
方法基础上的更进一步简化,限定返回json
格式的数据,其它参数和mui.get()
方法一致,如上获得新闻列表的代码换成mui.getJSON()
方法后,更为简洁,如下:mui.getJSON('http://server-name/list.php', {category:'news'}, function(data){ //获得服务器响应 ... } );