ajax、json、jsonp
这章分享下ajax、json、jsonp的学习记录,不得不说这真是些令人激动的技术。
推荐文章:
https://segmentfault.com/a/1190000012469713
http://www.ruanyifeng.com/blog/2016/04/cors.html
JSON
JSON可以理解为一种数据形式,
它有三种类型的值:
1、 简单值 字符串、数值、布尔和null
2、 对象 表示一组有序的键值对,键是字符串,值可以是简单类型和复杂数据类型。
3、 数组 表示一组有序的值的列表,可通过索引访问其中的值,数组值可以是JSON支持的任意类型。
Ajax
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。传统web应用浏览器在已加载页面中发与服务端交互时(发送小请求)必须等待并刷新页面,而有了Ajax则无需刷新页面也能获得请求数据并展示。
它的核心对象是XMLHttpRequest, 它能与Web服务器进行异步数据通信,然后用 Javascript把交互数据通过操作DOM进行动态显示及交互。
因为同源策略存在,一般服务端不允许跨域请求,但也可通过设置允许options请求(跨域请求)。
跨域请求分为简单请求和非简单请求,简单请求请求类型为get、post、head,请求头信息不超过Accep、Accept-Language、Content-language、Last-Event-ID、Content-Type类型的请求。其他的为非简单请求。
浏览器对这两种请求的处理是不一样的。

JSONP
JSONP的作用是与服务端交互并动态的展示数据而不用刷新页面,并且能够跨域请求。JSOP的原理来自<script>标签中的src属性具有可跨域的特性以及<script>支持异步的特性实现了数据动态的交互。
当我们创建操作dom生成<script>标签时,会对标签src属性的连接进行GET请求,此时我们可以带上请求参数和回调函数,对面接受到参数对参数进行处理并生成js文件,js文件解析出回调函数并调用它,回调函数接受到数据处理完的通过DOM操作与页面进行交互。因此一次互动的过程就完成了。
ajax、json、jsonp的更多相关文章
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
- C#.NET序列化XML、JSON、二进制微软自带DLL与newtonsoft(json.net)
序列化是将对象转换成另一种格式(XML.json.二进制byte[]) JSON序列化 .NET中有三种常用的JSON序列化的类,分别是: Newtonsoft.Json.JsonConvert类(推 ...
- IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)
IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSX ...
- Java 常见数据交换格式——xml、json、yaml
目录 数据交换格式介绍 XML 使用DOM方式解析 使用SAX方式解析 使用DOM4J方式解析 使用JDOM方式解析 JSON 使用JSONObject方式将数据转换为JSON格式 利用JSONObj ...
- Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库
Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...
- tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)
#tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', ...
- js导出到word、json、excel、csv
tableExport.js ///*The MIT License (MIT) //Copyright (c) 2014 https://github.com/kayalshri/ //Permis ...
- Python中xml、字典、json、类四种数据的转换
最近学python,觉得python很强很大很强大,写一个学习随笔,当作留念注:xml.字典.json.类四种数据的转换,从左到右依次转换,即xml要转换为类时,先将xml转换为字典,再将字典转换为j ...
- Python常用配置文件ini、json、yaml读写总结
开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息.请求的url.测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据 ...
随机推荐
- Javascript 使用postMessage对iframe跨域传值或通信
实现目标:两个网站页面实现跨域相互通信 当前例子依赖于 jQuery 3.0 父页面代码:www.a.com/a.html <iframe id="myIframe" src ...
- GetPJData - uGetHttpData.pas
function GetPJData(APage: Integer): string; var IdHTTP: TIdHTTP; url: string; paramsList: TStringLis ...
- 【转】/etc/rc.d/rc与/etc/rc.d/init.d的关系介绍
/etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行.程序运行到这里(init进程读取了运行级别),相信从命名的角度大家也能猜到该运行/etc/rc. ...
- 使用Let's Encrypt搭建永久免费的HTTPS服务
1.概述1.1 HTTPS概述HTTPS即HTTP + TLS,TLS 是传输层加密协议,它的前身是 SSL 协议.我们知道HTTP协议是基于TCP的.简而言之HTTPS就是在TCP的基础上套一层TL ...
- 基于嵌入式linux路由转发功能的实现
环境 arm7开发板, uclinux系统,kernel version: linux-2.4.x arm芯片的单网卡双网口设备,eth0 WAN口 ipaddr 192.168.9.61 eth0: ...
- 报错:Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/hadoop/fs/FileSystem
报错现象: Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/hadoop/fs/Fil ...
- PPIO 分布式存储在数据分发上有哪些优势?
PPIO 是为开发者打造的去中心化存储与分发平台,让数据存储更便宜.更高速.更隐私.官方网站是 pp.io.PPIO 不仅仅是个存储平台,也是一个分发平台.之前我们写了许多文章介绍 PPIO 的存储 ...
- VMWare给macos虚拟机扩容方法
一开始在VMWareWorkStation上创建macos虚拟机时,我考虑到物理硬盘大小有限,只分配了34G,随着不断的使用,虚拟机消耗的虚拟磁盘逐渐增长,因磁盘空间不足而导致无法在虚拟机中使用xco ...
- maven教程全攻略
maven教程全攻略 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关 ...
- java9 Local-variable type inference
var ls = Arrays.asList("1","2"); System.out.println(ls);