jsonp,ajax,json的问题
2017-11-25 本文已影响0人
空一座旧城守我的旧人
JSONP
JSONP是解决跨域问题的一种常见方式
跨域问题:因为浏览器有同源策略,所以当不同域间进行数据交互的时候就会出现跨域问题
同源策略:只有在同协议,同域名,同端口的情况下才能进行数据交互
JSONP的原理:可以利用script标签(会使用回调函数来不接收数据)的src属性不受同源策略的影响,可以请求到不同域的数据,通过设置回调函数来接收数据
JSONP是前后端结合的跨域方式:因为前段请求到数据后需要在回调函数中使用,所以后端得到数据放回到回调函数中
JSONP的缺点:
只能使用get处理,不能post跨域处理,需要注意的是:每次请求应该动态创建script标签和回调函数,数据获取完成后销毁
AJAX
ajax是指通过使用xmlhttprequest对象进行异步数据交互的技术,实现无刷新状态更新页面和异步提交
ajax实现过程:
- 创建xmlhttprequest对象
- 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息
- 设置向响应HTTP请求状态变化的函数
- 发送HTTP请求
5.获取异步调用返回的数据 - 使用JavaScript和DOM实现局部刷新
优点:
- 不需要插件支持
- 用户体验极佳
- 提升web程序性能
- 减轻服务器和宽带的负担
缺点:
- 前进后提按钮被破坏
- 搜索引擎的支持不够
- 开发调试工具缺乏
JSON
JSON和XML一样也是一种简单文本格式。是一种比较流行的标准格式,是数据的载体,相对于XML。JSON更加易读、更便于肉眼检查。在语法的层面上,JSON与其他格式的区别是在于分隔数据的字符,JSON中的分隔符限于单引号、小括号、中括号、大括号、冒号和逗号
优点:
- 作为一种数据传输格式,JSON与XML很相似,但是它更加灵巧。
- JSON不需要从服务器端发送含有特定内容类型的首部信息
缺点:
- 语法过于严谨
- 代码不易读
- eval函数存在风险