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 相关文章推荐
js function定义函数使用心得
Apr 15 Javascript
JavaScript中Math对象方法使用概述
Jan 02 Javascript
JavaScript中匿名、命名函数的性能测试
Sep 04 Javascript
向JavaScript的数组中添加元素的方法小结
Oct 24 Javascript
jQuery 遍历map()方法详解
Nov 04 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
Dec 02 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
微信小程序switch开关选择器使用详解
Jan 31 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
VUE前后端学习tab写法实例
Aug 06 Javascript
vue使用element-ui按需引入
May 20 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插入排序实现代码
2013/04/04 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
php实现的SESSION类
2014/12/02 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
IE8 原生JSON支持
2009/04/13 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
jquery写出PC端轮播图实例
2018/01/26 jQuery
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
详解Python的Django框架中的模版继承
2015/07/16 Python
用Python编写简单的微博爬虫
2016/03/04 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
python retrying模块的使用方法详解
2019/09/25 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
全球最大的游戏市场:G2A
2018/07/05 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
《金子》教学反思
2014/04/13 职场文书
药剂专业自荐书
2014/06/20 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
保险公司增员口号
2015/12/25 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
python模板入门教程之flask Jinja
2022/04/11 Python