一、学习AJAX发送异步请求
1 $(function(){ 2 //请求参数 3 var List = {}; 4 // 5 $.AJAX({ 6 请求方式 7 type : "POST", 8 请求的媒体类型 9 ContentType: "application/Json;charset=UTF-8"10 请求地址11 url : "http://127.0.0.1/admin/List/"12 数据,Json字符串13 data : JsON.stringify(List),1)">14 请求成功15 success : (result) {16 console.log(result);17 },1)">18 请求失败,包含具体的错误信息19 error : (e){20 console.log(e.status);21 console.log(e.responseText);22 }23 });24 });
$.AJAX()该方法用于执行AJAX请求,常用于其他jquery AJAX方法不能完成的请求,也许我们可以把它称为"jquery中AJAX系列方法之母"。
形式:$.AJAX({name:val,name:val,...});
可选字段:
1)url:链接地址,字符串表示
2)data:需发送到服务器的数据,GET与POST都可以,格式为{A: '...',B: '...'}
3)type:"POST" 或 "GET",请求类型
4)timeout:请求超时时间,单位为毫秒,数值表示
5)cache:是否缓存请求结果,bool表示
6)ContentType:内容类型,默认为"application/x-www-form-urlencoded"
7)dataType:服务器响应的数据类型,字符串表示;当填写为Json时,回调函数中无需再对数据反序列化为Json
8)success:请求成功后,服务器回调的函数
9)error:请求失败后,服务器回调的函数
10)complete:请求完成后调用的函数,无论请求是成功还是失败,都会调用该函数;如果设置了success与error函数,则该函数在它们之后被调用
11)async:是否异步处理,bool表示,默认为true;设置该值为false后,Js不会向下执行,而是原地等待服务器返回数据,并完成相应的回调函数后,再向下执行
12)username:访问认证请求中携带的用户名,字符串表示
13)password:返回认证请求中携带的密码,字符串表示
AJAX本质上就是针对一个url发送一个请求之后,url所在的服务器和AJAX的数据进行交互,
那么data就是发送请求的时候AJAX可以带着数据一起发送给服务器,dataType一般是不用写的,
这是预先猜测或者解析服务器返回的数据类型,比如服务器返回了Json类型的一组数据。
数据格式浏览器与服务器之间传输数据所采用的格式,比较常见的有xml,HTML,text,Json,Jsonp等,目前Json由于占用更小存储,
且是JavaScript原生格式,因此很受欢迎。
当确定数据传输采用Json格式后,下面就需要考虑序列化问题了。
网络中传输的都是文本字符串(其实是二进制比特流,这里方便理解),因此在向网络通道中写入数据时,
都需要先序列化Json对象为文本字符串。而从网络通道中读取数据时,都需要反序列化文本字符串为Json对象。
在Python中Json.dumps用于序列化,Json.loads用于反序列化。
如果确定数据格式是Json,Js也需对服务器返回的数据进行反序列化,即把Json样式的字符串变成Json对象。
1 var Json_str = '{"result": "hello,world!"}';2 var Json_object = eval("(" + Json_str + ")"); 法一,使用eval函数,注意括号3 var Json_object = jquery.parseJsON(Json_str); 法二,使用jquery的parseJsON函数4 5 alert(Json_object.result); 反序列化成功,输出结果
Json对象和Json字符串解释Json对象可以通过JavaScript存取属性!Json对象装成Json字符串经常用于前后台传输数据!
如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了
AJAX中,我们自己拼接的是一个JsON对象,以为它是无数据类型的,所以Js根据其格式默认其实对象,
你要是往后台发,要先把它转换成JsON字符。
从AJAX的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JsON对象才行。
在数据传输过程中,Json是以文本,即字符串的形式传递的,而Js *** 作的是JsON对象,所以,
JsON对象和JsON字符串之间的相互转换是关键。例如:
JsON字符串:
var str1 = '{ "name": "cxh","sex": "man" }';
JsON对象:
var str2 = { "name": "cxh","sex": "man" };
要使用上面的str1,必须使用下面的方法先转化为JsON对象:
//由JsON字符串转换为JsON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJsON(); //由JsON字符串转换为JsON对象
或者
var obj = JsON.parse(str); //由JsON字符串转换为JsON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
特别注意:如果obj本来就是一个JsON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JsON对象,
但是使用parseJsON()函数处理后会有问题(抛出语法异常)。
可以使用toJsONString()或者全局方法JsON.stringify()将JsON对象转化为JsON字符串。例如:
var last=obj.toJsONString(); //将JsON对象转化为JsON字符
或者
var last=JsON.stringify(obj); //将JsON对象转化为JsON字符
转载自:https://www.cnblogs.com/laopo/p/11241633.html
原文链接:https://blog.csdn.net/jinixin/article/details/80042763
Tomorrow the birds will singing.
总结
以上是内存溢出为你收集整理的高德地图和echarts结合实现地图下钻(二) 全部内容,希望文章能够帮你解决高德地图和echarts结合实现地图下钻(二) 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)