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的介绍(一)的更多相关文章

  1. [Javascript,JSON] JQuery处理json与ajax返回JSON实例

    转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...

  2. (转)JQuery处理json与ajax返回JSON实例

    son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...

  3. jquery ajax返回json数据进行前后台交互实例

    jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...

  4. MyEclipse下Struts2配置使用和Ajax、JSON的配合

    原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合  By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...

  5. Json.Net系列教程 1.Json.Net介绍及实例

    原文 Json.Net系列教程 1.Json.Net介绍及实例 本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮 ...

  6. ajax使用json

    json是什么什么的废话不说了,去百度吧.我这里介绍一下我为何要使用json.我使用ajax响应返回值时,项目中需求要返回多个值,不能只返回一个值.这时候就想起来用到json了.这可能只是json的一 ...

  7. Ajax传递json数据简介和一个需要注意的小问题

    Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...

  8. Springboot+ajax传输json数组以及单条数据的方法

    Springboot+ajax传输json数组以及单条数据的方法 下面是用ajax传输到后台单条以及多条数据的解析的Demo: 结构图如下: 下面是相关的代码: pom.xml: <?xml v ...

  9. ASP.NET 5 - $.ajax post JSON.stringify(para) is null

    JavaScript 代码: var para = {}; para.id = $("#ad-text-id").val(); para.title = $("#ad-t ...

随机推荐

  1. captive portal

    刷好lineageos后默认浏览器无法上网,实际上并不是没有连上网,而是captive portal即网关设置错误,设置一下即可上网. adb shell "settings put glo ...

  2. 简单聊聊Linux学习经历

    学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力 ...

  3. 洛谷P2084 进制转换

    题目背景 无 题目描述 今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 : 1*2^4+0*2^3+1*2^2+0*2^1+1*2^0, 那么请你编程实现,将一个M进制的 ...

  4. 学习Android过程中遇到的问题及解决方法——电话监听

    也许有时你会有这样一个需求:通电话时有一个重要的事需要记下来或者和一个陌生人特别是大骗子通话时,这是就想如果能把通话录下来就方便多了.(这才是我写这个代码的目的!!!) 在此过程中,犯了一个很大的错误 ...

  5. Appium+python+html生成饼图测试报告

    历时三周这个小框架终于正式运行了,git源码地址;https://github.com/jiyanjiao/AutoTEST/tree/master/qingqi_driver_app 报告如图:

  6. requirements文件

    将一个环境中安装的所有的包在另一个环境中安装 1.生成文件列表 pip freeze > requirements.txt 2.将该文件放入到新环境中,安装 pip install -r req ...

  7. Leetcode 202.快乐数 By Python

    编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...

  8. Android性能优化案例研究

    译 者前言: 这是Google的Android开发工程师Romain Guy刊登在个人Blog上的一篇文章.Romain Guy 作为Android图形渲染和系统优化的专家,是Android 4.1中 ...

  9. Double.valueOf(0.0D) 分析

    private Double price = Double.valueOf(0.0D); 查看Java API 文档如下: doubleValue public double doubleValue( ...

  10. 【BZOJ4316】小C的独立集(动态规划)

    [BZOJ4316]小C的独立集(动态规划) 题面 BZOJ 题解 考虑树的独立集求法 设\(f[i][0/1]\)表示\(i\)这个点一定不选,以及\(i\)这个点无所谓的最大值 转移\(f[u][ ...