什么是Ajax
简单来说,就是没用AJAX的网页,你点一个按钮就要刷新一下整个页面,尽管新页面上只有一行字和当前页面不一样,但你还是要无聊地等待页面刷新;用了AJAX之后,你点击,然后页面上的一行字就变化了,页面本身不用进行刷新。在进行Ajax技术在项目中获取数据的同时,不会影响当前你在网页的操作
那么,要如何获取数据呢
通常,我们都是通过API与各式各样的数据库进行交互的
Ajax的核心就是XMLHttpRequest对象,这个对像是浏览器提供的一个API,用来向服务器发送请求并解析服务器响应
来看看浏览器是如何发起一个请求的:
// 创建一个对象
// 监听请求成功后的状态变化
readyState:表示当前请求的后台状态:
0:请求未初始化(还没有调用open())
1:请求已经建立,但是还没有发送(还没有调用send())
2:请求已经发送,正在处理中
3:请求正在处理中,通常响应中已经有部分数据可以用了
4:响应已经完成,可以获取并使用服务器的响应了
status:表示请求的结果:
status == 200 是表示处理的结果是OK的
状态码:200到300是指服务端正常返回
304:如果网页自请求者上次请求后再也没有更改过,应将服务器配置为返回此响应,进而节省带宽和开销
404:找不到对象
503:服务器超时
// 设置请求参数
// 发起请求
这里只是一个Demo,应该可以比较直观的看出里面各部分代表什么意思
提问:根据你的示例,如果报404错误可能错在哪里
答:可能会是请求网址有误
提问:常见的请求方式有哪几种
答:get/post/put/delete。常见的是这四种,常用的是get跟post
提问:原生JS的Ajax跟JQuery的Ajax有什么区别
答:其实并没有什么区别,只是JQuery将Ajax封装起来,所以用起来会方便一点,代码量也会少很多