• mui ajax方法详解


    mui ajax方法详解:

    mui提供了mui.ajax,在此基础上有分装出mui.get()/mui.getJSON()/mui.post()三个方法。

    mui.ajax( url [,settings] )

    mui.ajax( url [,settings] )
    
    url
    Type: String
    请求发送的目标地址
    
    settings
    Type: PlainObject
    key/value格式的json对象,用来配置ajax请求参数,支持的完整参数参考如下mui.ajax([settings])方法
    

    mui.ajax([settings])

    settings
    Type: PlainObject
    key/value格式的json对象,用来配置ajax请求参数,支持的详细参数如下:
    async
    Type: Boolean
    发送同步请求
    crossDomain    *5+ only
    Type: Boolean
    强制使用5+跨域
    data
    Type: PlainObject||String
    发送到服务器的业务数据
    dataType
    Type: String
    预期服务器返回的数据类型;如果不指定,mui将自动根据HTTP包的MIME头信息自动判断;支持设置的dataType可选值:
    "xml": 返回XML文档
    "html": 返回纯文本HTML信息;
    "script": 返回纯文本JavaScript代码
    "json": 返回JSON数据
    "text": 返回纯文本字符串
    error
    Type: Functon(XMLHttpRequest xhr,String type,String errorThrown)
    请求失败时触发的回调函数,该函数接收三个参数:
    xhr:xhr实例对象
    type:错误描述,可取值:"timeout", "error", "abort", "parsererror"、"null"
    errorThrown:可捕获的异常对象
    success
    Type: Functon(Anything data,String textStatus,XMLHttpRequest xhr)
    请求成功时触发的回调函数,该函数接收三个参数:
    data:服务器返回的响应数据,类型可以是json对象、xml对象、字符串等;
    textStatus:状态描述,默认值为'success'
    xhr:xhr实例对象
    timeout
    Type: Number
    请求超时时间(毫秒),默认值为0,表示永不超时;若超过设置的超时时间(非0的情况),依然未收到服务器响应,则触发error回调
    type
    Type: String
    请求方式,目前仅支持'GET'和'POST',默认为'GET'方式
    headers
    Type: Json
    指定HTTP请求的Header
    headers:{'Content-Type':'application/json'}	              
    processData
    Type: Boolean
    为了匹配默认的content-type("application/x-www-form-urlencoded"),
    mui默认会将data参数中传入的非字符串类型的数据转变为key1=value&key2=value2格式的查询串;
    如果业务需要,希望发送其它格式的数据(比如Document对象),可以设置processData为false
    

    代码示例:如下为通过post方式向某服务器发送鉴权登录的代码片段

    mui.ajax('http://server-name/login.php',{
    	data:{
    		username:'username',
    		password:'password'
    	},
    	dataType:'json',//服务器返回json格式数据
    	type:'post',//HTTP请求类型
    	timeout:10000,//超时时间设置为10秒;
    	headers:{'Content-Type':'application/json'},	              
    	success:function(data){
    		//服务器返回响应,根据响应结果,分析是否登录成功;
    		...
    	},
    	error:function(xhr,type,errorThrown){
    		//异常处理;
    		console.log(type);
    	}
    });
    

    mui.post()方法是对mui.ajax()的一个简化方法,直接使用POST请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,请使用mui.ajax()方法),使用方法: mui.post(url[,data][,success][,dataType]),如上登录鉴权代码换成mui.post()后,代码更为简洁,如下:

    mui.post('http://server-name/login.php',{
    		username:'username',
    		password:'password'
    	},function(data){
    		//服务器返回响应,根据响应结果,分析是否登录成功;
    		...
    	},'json'
    );
    

    mui.get()方法和mui.post()方法类似,只不过是直接使用GET请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,请使用mui.ajax()方法),使用方法: mui.get(url[,data][,success][,dataType]),如下为获得某服务器新闻列表的代码片段,服务器以json格式返回数据列表

    mui.get('http://server-name/list.php',{category:'news'},function(data){
    		//获得服务器响应
    		...
    	},'json'
    );
    

    如上mui.get()方法和如下mui.ajax()方法效果是一致的:

    mui.ajax('http://server-name/list.php',{
    	data:{
    		category:'news'
    	},
    	dataType:'json',//服务器返回json格式数据
    	type:'get',//HTTP请求类型
    	success:function(data){
    		//获得服务器响应
    		...
    	}
    });
    

    mui.getJSON()方法是在mui.get()方法基础上的更进一步简化,限定返回json格式的数据,其它参数和mui.get()方法一致,使用方法: mui.get(url[,data][,success]),如上获得新闻列表的代码换成mui.getJSON()方法后,更为简洁,如下:

    mui.getJSON('http://server-name/list.php',{category:'news'},function(data){
    		//获得服务器响应
    		...
    	}
    );
    

    以上内容获取为文档,详情请阅读文档。
    http://dev.dcloud.net.cn/mui/ajax/

    张磊,技术菜鸟一枚,在web开发中一直苦苦挣扎,追求上岸! 联系QQ:1908002007 有技术问题可以随时联系,闲聊也是可以的!欢迎打扰!
  • 相关阅读:
    一个关于git push失败的解决方案
    TensorFlow学习笔记 速记2 报错:failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE
    Maven父子工程,子项目变灰,提示该项目已被移除出maven父工程
    mysql模糊查询1,11,111用逗号(其他符号)拼接的相似字符串
    如何查看服务器对外的IP
    用navcat编写定时任务调用存储过程
    如何使用jenkins部署maven父子工程
    服务网关ZuulFilter过滤器--pre/post/error的用法(校验请求信息,获取路由后的请求/响应信息,处理服务网关异常)
    服务网关ZuulFilter过滤器--如何解决跨域请求中的OPTIONS请求
    如何获取jar包中resource下的文件
  • 原文地址:https://www.cnblogs.com/zhnaglei/p/6596116.html
Copyright © 2020-2023  润新知