mui.ajax( url [,settings] )php
url:請求發送的目標地址html
settings:key/value格式的json對象,用來配置ajax請求參數,支持的參數以下:ajax
data:發送到服務器的業務數據;json
type:請求方式,目前僅支持'GET'和'POST',默認爲'GET'方式;ruby
dataType:預期服務器返回的數據類型;若是不指定,mui將自動根據HTTP包的MIME頭信息自動判斷;
支持設置的dataType可選值:服務器
"xml": 返回XML文檔app
"html": 返回純文本HTML信息;less
"script": 返回純文本JavaScript代碼函數
"json": 返回JSON數據post
"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){ //得到服務器響應 ... } );