异步加载与请求:
文章目录
- 异步加载与请求:
- 背景:
- 异步加载
- JSON介绍与应用
- 异步GET与POST请求
背景:
随着技术的不断进步,现在不少网站已经引入了异步加载技术,单击新的链接以后,几乎看不到“白屏”的现象了。而且更神奇的是,单击了链接,网页的内容已经发生了改变,但是网址竟然没有变。
异步加载
AJAX技术介绍
AJAX是Asynchronous JavaScript And XML的首字母缩写,意为异步JavaScript与XML。
使用AJAX技术,可以在不刷新网页的情况下更新网页数据。使用AJAX技术的网页,一般会使用HTML编写网页的框架。
在打开网页的时候,首先加载的是这个框架。剩下的部分将会在框架加载完成以后再通过JavaScript从后台加载。
如何判断一个网页有没有使用AJAX技术呢?请访问http:// exercise.kingname.info/ exercise_ajax_1.html,这个页面用浏览器访问的结果如图1所示。
但是如果检查它的源代码,会发现源代码里面并没有网页上面显示的这两段文字,如图2所示。
JSON介绍与应用
JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。网络之间使用HTTP方式传递数据的时候,绝大多数情况下传递的都是字符串。
因此,当需要把Python里面的数据发送给网页或者其他编程语言的时候,可以先将Python的数据转化为JSON格式的字符串,然后将字符串传递给其他语言,其他语言再将JSON格式的字符串转换为它自己的数据格式。
为了直观地观察一个JSON格式的字符串,先在Python中初始化一个字典:
person = {
'basic_info': {'name': 'kingname',
'age': 24,
'sex': 'male',
'merry': False},
'work_info': {'salary': 99999,
'position': 'engineer',
'department': None}
}
不仅是字典,Python中的列表或者包含字典的列表,也可以转换为JSON格式的字符串,如图3所示。
如果要把JSON格式的字符串转换为Python的字典或者列表,只需要使用一行代码即可:
person_dict = json.loads(person_json_indent)
这里得到的person_dict就是一个字典,可以像使用普通字典一样来使用它,如图4所示。
异步GET与POST请求
I在谷歌浏览器访问页面时候,单机鼠标右键,出现如图5:
异步GET如图6:
POST请求如图7: