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.测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据 ...
随机推荐
- java注解篇
@SuppressWarnings注解 该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 允许您选择性地取消特定代码段(即,类或方法)中的警告.其中的想法是当您看到警告 ...
- JavaScript代码优化
1.if else 语句中变量赋值为布尔值 if (a > b) { status = true; } else { status = false; } // 可以简化为 status = a ...
- 使用 AWK 去掉文本文档中的空白行
在 Linux 操作系统中,可以使用 AWK 命令高效地处理文本文档.AWK 命令通过执行使用 AWK 语言编写的脚本程序,处理文本文档.AWK 脚本程序是由模式(patterns)与相关操作(cor ...
- Caching in Presto
转自:Caching in Presto Qubole’s Presto-as-a-Service is primarily targeted at Data Analysts who are tas ...
- Ubuntu14.04安装 ROS 安装步骤和问题总结
参考: 1.http://wiki.ros.org/indigo/Installation/Ubuntu 2.安装出现依赖库问题: https://answers.ros.org/question/3 ...
- NPOI helper
using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; ...
- ES6系列之let/const及块级作用域
本系列是在平时阅读.学习.实际项目中有关于es6中的新特性.用发的简单总结,目的是记录以备日后温习:本系列预计包含let/const.箭头函数.解构.常用新增方法.Symbol.Set&Map ...
- Google SketchUp Cookbook: (Chapter 3) Intersection Edges: Cutting and Trimming
软件环境 SketchUp Pro 2018 参考书籍 Google SketchUp Cookbook Trimming an Object 使用 Intersect with Model 裁剪物体 ...
- Sping Cloud项目启动报A component required a bean of type 'com.tianyan.bbc.dao.SecurityUserBaseMapper' that could not be found.
项目构建正常,启动和Debug报以下错误: Error starting ApplicationContext. To display the conditions report re-run you ...
- 刘志梅2017710101152.《面向对象程序设计(java)》第十三周学习总结
实验十三 图形界面事件处理技术 实验时间 2018-11-22 1.理论知识 (1)任何支持GUI的操作环境都要不断地监视按键或点击鼠标这样的事件. JAVA这样的面向对象语言,都将事件的相关的信息 ...