ajax请求数据原理

首先要了解什么是ajax?

1. ajax就是异步的xml和js;

2. ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术;

3. 传统的网页(不使用ajax)如果需要更新内容,必须重新加载整个网页;

4. Ajax的出现,使得使网可以实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新;

注:ajax本身不支持跨域请求,需要在服务器端处理。

工作原理

1. ajax的技术核心是 XMLHttpRequest 对象;

2. ajax请求过程:创建XMLHttpRequest、连接服务器、发送请求、服务器做出响应、接收响应数据;

 ajax和jsonp的区别

1.ajax是通过创建XMLHttpRequest来获取同源的数据;

2. 而jsonp是通过<script>标签来调用服务器提供的js脚本;

jsonp产生的原因

1. Ajax直接请求普通文件存在跨域无权限访问的问题(静态页、动态页、web服务、wcf只要是跨域请求一律不准)
2. web的页面上调用js文件是不受跨域的影响(凡拥有src属性的标签都拥有跨域能力script img iframe)
3. 可以判断 现在想通过纯web端(ActiveX控件、服务端代理、H5之Websocket等方式不算)跨域访问数据就只有一种可能,就是在远程服务器上设法把数据装进js格式的文件里,供客户度调用和进一步处理;
4. json的纯字符数格式可以简洁的描述复杂数据还被js原生支持
5. web客户端通过与调用脚本一样的方式来调用跨域服务器上动态生成的js格式文件(后缀.json),服务器之所以要动态生成json文件目的把客户端需要的数据装入进去
6. 客户端在对json文件调用成功后获得自己所需的数据剩下的就按照自己需求进行处理和展现,这种获取远程数据的方式非常像ajax其实并一样
7. 为了方便客户端使用数据逐渐形成非正式传输协议jsonp

其实,说到ajax就会面临两个不可避免的问题:

一是以何种格式来减缓数据;

二是如何解决跨域问题。

目前来说,所被推崇的方案是JSON作数据交换,JSONP来解决跨域问题;

json 与jsonp的区别

1. JSON与JSONP虽然看上去只有一字之差,但是实际上根本不是一回事;

2. JSON是一种key/value形式的数据格式;

3. JSONP则是一种跨域数据交互协议;

发布了22 篇原创文章 · 获赞 2 · 访问量 3333

猜你喜欢

转载自blog.csdn.net/Geezer_007/article/details/100598562