Ajax和Json的介绍(一)
Ajax简介:
优点:
1.Ajax是一种网页开发技术,异步JavaScript和XML;(这样叫的原因是是因为ajax传递数据是用json格式的,而json和xml又类似,都是以键值对,josn是"name":"wp",xml的是:<name>wp</name>)
2.Ajax能异步交互,局部刷新;
3.Ajax能减少服务器压力;
4.AJax能提高用户体验;
Ajax与传统交互比较:
传统交互:网页整体刷新,服务器压力大,用户体验不好;Ajax交互:局部刷新,服务器压力小,用户体验好。
Ajax核心:XMLHttpRequest
XMLHttpRequest:用于在后台与服务其交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的局部进行刷新。IE5和IE6对应的XMLHttpRequest对象为ActiveXObject对象
1.XmlHttpRequest对象进行后台请求:
(1)建立与服务器的连接:open(method,URL,async);
method为请求,值为get或post
URL参数:指定请求的地址
async:是否异步,一般为true(异步表示程序请求服务器的同时,程序可以继续执行;如果是同步的话,javascript会等到服务器响应就绪才继续执行,如果服务器繁忙或缓慢,应用程序会挂起或停止)
(2)发送请求:send(content);
(3)设置头信息:setRequestHeader(header,value)
如:setRequestHeader("Content-type","application/x-www-form-urlencoded")
Content-type表示编码属性;
form的enctype属性:
a) application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式 。当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
b)multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
c)text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
2.XMLHttpRequest对象响应服务器
(1)接收:onreadystatechange回调函数
(2)readyState表示XMLHttpRequest的状态信息:
0:XMLHttpRequest对象没有完成初始化
1:XMLHttpRequest对象开始发送请求
2:XMLHttpRequest对象的请求发送成功
3:XMLHttpRequest对象开始读取响应,还没结束
4:XMLHttpRequest对象读取响应结束
(3)status:HTTP的状态码
200:服务器响应正常
400:无法找到请求的资源
403:没有访问权限
404:访问的资源不存在
500:服务器内部出错
获取来自服务器的响应:
responseText:获得 响应的文本内容
responseXML:获得响应的XML文档对象
JSON简介:
1.它是javascript对象表示法
2.它是存储和交换文本信息的语法,类似XML
3.它比xml更小,更快,更易解析
4.用evla()处理json字符串
5.json格式为:值/对。所以我们在用ajax进行请求的时候将头信息设置为:application/x-www-form-urlencoded
6.JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
7.json文件
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
MIME就是邮件传输类型,这里就想着json的传输类型为:application/json
Java小生店铺:
Pc端:http://shop125970977.taobao.com/index.htm
手机端:搜索 java小生店铺
希望店铺的资料能帮助到你!!!

Ajax和Json的介绍(一)的更多相关文章
- [Javascript,JSON] JQuery处理json与ajax返回JSON实例
转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...
- (转)JQuery处理json与ajax返回JSON实例
son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- MyEclipse下Struts2配置使用和Ajax、JSON的配合
原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合 By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...
- Json.Net系列教程 1.Json.Net介绍及实例
原文 Json.Net系列教程 1.Json.Net介绍及实例 本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮 ...
- ajax使用json
json是什么什么的废话不说了,去百度吧.我这里介绍一下我为何要使用json.我使用ajax响应返回值时,项目中需求要返回多个值,不能只返回一个值.这时候就想起来用到json了.这可能只是json的一 ...
- Ajax传递json数据简介和一个需要注意的小问题
Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...
- Springboot+ajax传输json数组以及单条数据的方法
Springboot+ajax传输json数组以及单条数据的方法 下面是用ajax传输到后台单条以及多条数据的解析的Demo: 结构图如下: 下面是相关的代码: pom.xml: <?xml v ...
- ASP.NET 5 - $.ajax post JSON.stringify(para) is null
JavaScript 代码: var para = {}; para.id = $("#ad-text-id").val(); para.title = $("#ad-t ...
随机推荐
- 安装mysql zip5.6版--安裝
第一步当然是下载了,我下载的是压缩包形式的安装包,这种直接解压就可以了,地址是:https://dev.mysql.com/downloads/file/?id=468784 第二步就是解压了,解压到 ...
- size_t的使用
size_t的取值range是目标平台下最大可能的数组尺寸 典型的例子:x64平台下size_t是8位,而x32平台下是4位: int在两个平台下均为4位 所以在使用的时候一定要配置好对应的平台,否则 ...
- npm 和package.json 文件
你可能还记得使用vue-cli 创建vue项目.当创建项目完成后,我们进入到项目目录,启动cmd命令窗口,输入npm install,它就会安装一堆东西(依赖),然后再输入npm run dev, 我 ...
- codeforces527D
Clique Problem CodeForces - 527D 所谓图的极大团是指在一个无向图中找到最多的点,使得这些点构成的图(即导出子图)是一个完全图,然而这个问题至今没有有效的多项式解法,当然 ...
- 利用kali破解wifi密码
准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...
- Dirichlet's Theorem on Arithmetic Progressions POJ - 3006 线性欧拉筛
题意 给出a d n 给出数列 a,a+d,a+2d,a+3d......a+kd 问第n个数是几 保证答案不溢出 直接线性筛模拟即可 #include<cstdio> #inclu ...
- Codeforces Round #505 Div. 1 + Div. 2
传送门:>Here< 从来没打过\(CF\)(由于太晚了)-- 不知道开学了以后有没有机会能够熬夜打几场,毕竟到现在为止都是\(unrated\)好尴尬啊~ 今天早上打了几题前几天的比赛题 ...
- python的if not用法
python里的if not的用法: None,False,0,空列表[],空字典{},空元祖(),都相当于false print('not x 打印出来的结果',not x) x =[1] prin ...
- 「CodeForces - 50C 」Happy Farm 5 (几何)
BUPT 2017 summer training (16) #2B 题意 有一些二维直角坐标系上的整数坐标的点,找出严格包含这些点的只能八个方向走出来步数最少的路径,输出最少步数. 题解 这题要求严 ...
- android 通过修改图片像素实现CircleImageView
CircleImageView实现方法有很多种,各有优缺点,因此需要按照不同的场景使用.我们今天使用修改图片像素的方法实现CircleImageView,主要知识点无非是勾股定理和点到圆形的距离. 素 ...