Ajax
1.什么是Ajax?
- Ajax : Asynchronous JavaScript and XML(异步的 JavaScript 和 XML);
- 特点:在不刷新网页的前提下,向服务器发送http请求,并且获得响应;
- AJAX = 异步JavaScript 和XML;
- 是一种用于创建快速动态网页的技术;与后台服务器进行少量数据交换,无刷新地实现异步更新
- 比较:传统方式(不适用AJAX),必须重载整个网页,即刷新
2.什么是XML?
-
XML:可扩展标记语言;
-
XML 被设计用于传输和存储数据;
-
XML与HTML区别:
1. ML都是预定义(即已经定义好的标签),XML中没有预定义标签,都是自定义标签;
2. HTML用于网页数据的展示;XML用于数据的传输或者存储;<!-- name='孙悟空';age=18;gender='男' --> <student> <name>孙悟空</name> <age>18</age> <gender>男</gender> </student>
-
JSON数据:{“name”:‘孙悟空’,“age”:18,“gender”:‘男’}
但是,现在可以用JSON数据来代替XML数据进行数据的传输和存储,因为JSON数据更容易解析,用于js
3.AJAX优缺点?
-
优点:
- 无需刷新页面就可以与服务器进行通信;
- 允许根据用户事件来跟新部分页面内容;如用户通过鼠标点击事件,触发局部数据更新;
-
缺点
- 没有浏览历史,不能回退;
- 存在跨域问题(同源策略);
- SEO不友好,搜索引擎优化不够友好,因为爬虫操作不能获取数据;
详细:因为打开网页如www.baidu.com,页面的源代码(源代码:即初次获取的HTTP响应体)中不包含AJAX更新的到的数据;===》AJAX数据是通过跟后台进行少量数据交换得到的,然后通过JS再将获取的新数据动态更新到HTML中,因此在源码中是找不到动态插入的数据,因此无法爬取;