mui.ajax

mui.ajax(
    'http:xxxxxxxxxx/login',//请求的地址
    {
    	data:{},//传给服务器的数据,一般在post请求中
    	dataType:'json',//服务器返回数据的格式;
    	type:'post',//HTTP请求类型;目前仅支持post/get
    	timeout:5000,//设置超时时间
    	async:true,//是否异步;true/false
    	crossDomain:true,//是否强制使用5+跨域
    	contentType:"application/json;charset=UTF-8",//提交数据的方式;当为application/json时,一般放在headers中
    	processData:true, //是否将data中非字符串转为key=value类型的数据格式
    	headers:{'Content-Type':'application/json'},//指定HTTP的请求头  
    	beforeSend:function(){
    	    //发送给服务器之前的回调
    	},
    	success:function(data){
    		//服务器返回响应,根据响应结果,分析是否登录成功;
    		...
    	},
    	error:function(xhr,type,errorThrown){
    		//异常处理;
    		console.log(type);
    	}
    }
);
复制代码

部分参数介绍:

1、dataType

dataType为服务器返回过来的数据的格式。
支持返回的类型有:
"json",返回json格式的数据;
"xml",返回xml文档;
"html",返回纯文本HTML信息;
"script", 返回纯文本JavaScript代码;
"text", 返回纯文本字符串;

2、contentType

contentType主要用于post请求,一般都是放在请求头headers:{"Content-Type":""}中,这样服务端就可以根据请求头中的Content-Type字段来获取消息主体的编码方式,进而进行解析数据。

contentType支持的类型有:
(1)"application/x-www-form-urlencoded"(默认),用于提交表单,数据会转换为键值对并按照 key1=val1&key2=val2 的方式进行编码。

(2)"multipart/form-data",用于提交表单,将数据处理为一条消息,以标签为单元,用分隔符(这就是boundary的作用)分开。

(3)"application/json",作为响应头比较常见。

(4)"text/xml",用于传输和存储数据,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

(5)"binary (application/octet-stream)",只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组)。

3、processData

processData布尔值类型

为了匹配默认的content-type("application/x-www-form-urlencoded"), mui默认会将data参数中传入的非字符串类型的数据转变为key1=value&key2=value2格式的查询串; 如果业务需要,希望发送其它格式的数据(比如Document对象),可以设置processDatafalse

4、beforeSend

beforeSend,在启动Ajax请求之前触发,可以修改XMLHttpRequest对象(如果需要,可以设置其他头,如修改请求头setRequestHeader)。

 

5、error

error:function(xhr,type,errorThrown){},在请求发生错误时才调用此事件。
该函数接收三个参数:
xhr:xhr实例对象;
type:错误描述,可取值:"timeout","error","abort","parsererror","null";
errorThrown:可捕获的异常对象;


success回调函数中也有三个参数,只是平时就用一个罢了。

mui.ajax()的简写

1、post方式

直接使用post请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,就要使用mui.ajax()方法)

mui.post('http:xxxxxxxxxx/login',{
		username:'username',
		password:'password'
	},function(data){
		//服务器返回响应,根据响应结果,分析是否登录成功;
		...
	},'json' //返回json格式的数据,相当于参数dataType的值
);
复制代码

2、get方式

直接使用get请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,请使用mui.ajax()方法)

mui.get('http:xxxxxxxxxx/list',
    {category:'news'},//给分类加属性,选填
    function(data){
		//获得服务器响应
		...
    },'json'//返回json格式的数据,相当于参数dataType的值
);
复制代码

3、getJSON方式

限定返回json格式的数据,其它参数和mui.get()方法一致

mui.getJSON('http:xxxxxxxxxx/list',
    {category:'news'},//给分类加属性,选填
    function(data){
		//获得服务器响应
		...
    }
);

作者:_村长_
链接:https://juejin.cn/post/6850418121644179463
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值