json与jsonp知识小结(推荐)


Posted in Javascript onAugust 16, 2016

json

1. json 的值可以是下面这些类型:

① 数字(整数或浮点数),比如123,1.23

② 字符串(在双引号中)

③ 逻辑值(true 或 false)

④ 数组(在方括号中)

⑤ 对象(在花括号中)

⑥ null

2. json解析方法

① eval('(' + jsondata + ')' ); 使用时永远是不安全的,代码注入

② JSON.parse(jsondata);

JSONLint json:字符串校验工具

3. jQuery 实现ajax

jQuery.ajax([settings])

type :类型

url :发送请求的地址

data :是一个对象,连同请求发送到服务器的数据

dataType :预期服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,一般我们采用json 格式,可以设置为”json”

success :是一个方法,请求成功后的的回调函数,传入返回后的数据,以及包含成功代码的字符串

error :是一个方法,请求失败时调用此函数。传入 XMLHttpRequest 对象

jsonp

跨域

一个域名地址的组成:

http://www .abc.com :8080 / scripts/jquery.js

协议://子域名. 主域名 :端口号 / 请求资源地址

当协议、子域名、主域名、端口号中任意一个不行同时,都算作不同域

不同域之间相互请求资源,就算作“跨域”

javascript 出于安全方面的考虑,不允许跨域调用其他页面的对象。

什么是跨域呢? 简单的解释就是因为javascript同源策略的限制,a.com 域名下的js无法操作b.com 或是 c.a.com域名下的对象

处理跨域方法:

—— 代理(属于后台技术)比如在北京的web服务器的后台来调用上海服务器的服务,看然后再把响应结果返回给前端,这样前端调用北京同域名的服务器就和调用上海的服务效果相同了。

—— JSONP

a域名去声明,b域名去调用

注意:JSONP只能用于GET 请求,不支持POST请求(局限性)

—— XHR2

HTML5 提供的XMLHttpRequest Level2 已经实现了跨域访问以及其他的一些新功能

IE10 以下的版本都不支持

在服务端做一些小小的改造即可:

header("Access-Control-Allow-Origin:"); 表示所有的服务器都可以访问,也可以替换成特定的域名,比如说:服务器在上海,*换成北京服务器的域名,这样只有从北京的域名才可以访问

header("Access-Control-Allow-Methods:POST,GET");

下面说下jsonp 的优缺点。

同源策略 :即JavaScript只能访问与包含它的文档在同一域下的内容。jsonp可以跨越同源策略,当我们使用了jsonp,将会是另外一种协议通信了。

JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。

JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

以上所述是小编给大家介绍的json与jsonp知识小结(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JQuery优缺点分析说明
Jun 09 Javascript
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
Oct 29 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
Ajax使用原生态JS验证用户名是否存在
May 26 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
vue的状态管理模式vuex
Nov 30 Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
Apr 17 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
浅谈JS继承_借用构造函数 & 组合式继承
Aug 16 #Javascript
JS读写CSS样式的方法汇总
Aug 16 #Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
Aug 16 #Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 #Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 #Javascript
js 自带的 map() 方法全面了解
Aug 16 #Javascript
JavaScript实战之带收放动画效果的导航菜单
Aug 16 #Javascript
You might like
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python表示矩阵的方法分析
2017/05/26 Python
Python中property函数用法实例分析
2018/06/04 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
电子商务毕业生求职信
2013/11/10 职场文书
工程资料员岗位职责
2014/03/10 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
十佳护士先进事迹
2014/05/08 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
终止劳动合同通知书
2015/04/16 职场文书
python之django路由和视图案例教程
2021/07/26 Python