Ajax原生请求及Json基础
1、基本结构
<script type="text/javascript">
// 创建XMLHttpRequest对象
var request = new XMLHttpRequest();
var id = '1';
request.onreadystatechange = function() {
// 如果请求成功,且获取响应,则返回响应数据
if (request.readyState == 4 && request.status == 200) {
document.getElementById("result").innerHTML = request.responseText;
}
}
// 请求 open("method","url","async(true/false)")
request.open("get", "index.jsp?id=" + id, true);
// 设置请求头信息
request.setRequestHeader("content-type",
"application/x-www-for-urlencoded");
// 发送请求,当请求为post时,请求参数应该写在send()方法中
request.send();
</script>
2、Http请求过程
- 建立TCP链接
- 浏览器向服务器发送请求命令
- 浏览器发送请求头信息
- 服务器响应(应答)
- 服务器发送应答头信息
- 服务器向浏览器发送数据
- TCP连接关闭
3、Http请求
请求方法:GET/POST
- GET:长度在200个字符;
- POST:一般用于修改服务器上的资源,对所发送信息的数量无限制;
请求URL
请求头:包含一些客户端环境信息、身份验证信息等
请求体:包含客户提交的查询字符串信息、表单信息
4、Http响应
- 一个数字和文字组成的状态码,用来显示请求是否成功
- 响应头:包含许多用户信息,入服务器类型,日期时间,内容类型和长度等
- 响应体
- 状态码:
- 1XX:信息类,服务器正在进行进一步处理
- 2XX:成功
- 3XX:重定向
- 4XX:客户端错误,请求有错误
- 5XX:服务器错误
5、XMLHttpRequest发送请求
request.open("get", "index.jsp?id=" + id, true)
- 请求 open("method","url","async(true/false)")
request.setRequestHeader("content-type",
"application/x-www-for-urlencoded");- 设置请求头信息,写在open和send方法之间
request.send();
- 发送请求,当请求为post时,请求参数应该写在send()方法中
6、XMLHttpRequest获取响应
responseText:获取字符串形式的响应数据
responseXML:获取xml形式的响应数据
status和statusText:以数字和文本形式返回Http状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():查询响应中的某个字段的值
readyState属性:
- 值为 0 :请求初始化,open还没有调用
- 值为 1:服务器连接已建立,open已经调用
- 值为 2:请求已被接收,也就是连接到头信息了
- 值为 3:请求处理中,也就是接收到响应头了
- 值为 4:请求已完成,且响应已就绪,也就是响应完成了
常用方法:
request.onreadystatechanage=function() {
if(request.readystate === 4 && request.status === 200) {
// 响应后的操作
}
}
7、JSon解析
基本概念
- JSon是存储和交换文本信息的语法,类似XML,它采用键值对的方式来组织,易于阅读和编写,也易于机器解析和生成
- JSon是独立于语言的
JSon和xml的比较
- 长度比xml短小
- 读写速度比xml更快
- Json可以使用JavaScript内建的方法直接进行解析、转换成Javascript对象
JSon解析
- JSon.parse(Json_name)
- eval('('+ json_name +')')
数据结构
- 1、 Object:使用花括号内含的键值对结构,key必须是String类型,value为任意基本类型或数据结构
- {String:value}
- 2、Array:基本类型String、number,使用中括号括起来并用逗号分隔
Ajax原生请求及Json基础的更多相关文章
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析 一:问题demo展示 ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- springmvc通过ajax异步请求返回json格式数据
jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...
- ajax post 请求发送 json 字符串
$.ajax({ // 请求方式 type:"post", // contentType contentType:"application/json", // ...
- Ajax原生请求和java对象转成json
\黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day23-资料源码\ajax_code\day23_3 本代码中有模 ...
- 原生ajax异步请求基础知识
一.同步交互与异步交互的概念: * 同步交互:客户端向服务器端发送请求,到服务器端进行响应,这个过程中,用户不能做任何其他事情(只能等待响应完才能继续其他请求). * 异步交互:客户端向服务器端发送请 ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- 原生js实现ajax与jquery的ajax库,及json
这是一篇笔记博客, Ajax: 和服务器进行数据交换(异步) 用js实现复杂的原理:用于发送请求的对象在不同的浏览器中是不同的 同源策略:ajax发送请求的url地址与服务器地址必须是同一域名,协议, ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
随机推荐
- asp.net中关于《%=》《%#》《%》 的用法——(转帖)
1:在.aspx页面,<% %>标签相当于在.cs页面的代码,也就是说你在.cs文件里面怎样写,就可以在.aspx文件里面的<% %>标签里面怎样写. 2:在.aspx页面,& ...
- 机器学习(二十三)— L0、L1、L2正则化区别
1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数的平方的和的开方值. 2.问题 1)实现参数的稀疏有什么好处吗? 一个好处是可以简化 ...
- Java微信开发_03_使用测试号进行开发
今天进行自定义菜单的开发时,发现公众号没有自定义菜单的权限.于是想到用测试号,但微信服务器如何区分你要请求的是公众号还是测试号呢. 我们可以发现不同公众号的appID和appsecre是不同的,一对a ...
- Bootstrap-other内置组件
1.缩略图 缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底下(左侧或右侧)带有标题.描述等信息.Bootstrap框架将这一部独立成一个模块组件.并通过“thumbnail ...
- 【Educational Codeforces Round 38】D. Buy a Ticket 堆优化Dijkstra
题意 给定一张无向图,对每个点$i\in S$求$\min_{j\in S} {2\times d(i,j)+a_j}$ 考虑多源多汇最短路会超时,换个角度考虑每个$j$,如果$j=i$,那么答案为$ ...
- Windows PCM音频捕获与播放实现
在WINDOWS下,音频函数有多种类型,如MCI.多媒体OLE控制.高级音频等,使用方法都比较简单.但如果想编写一个功能较强大的音频处理程序,那就必须使用低级音频函数和多媒体文件I/O来控制音频设备的 ...
- SQL Server DBA十大必备工具使生活轻松
[IT168 技术]曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过 其他工具了;诚然,SSMS和Profil ...
- javascript:function 函数声明和函数表达式 详解
函数声明(缩写为FD)是这样一种函数: 有一个特定的名称 在源码中的位置:要么处于程序级(Program level),要么处于其它函数的主体(FunctionBody)中 在进入上下文阶段创建 影响 ...
- 第 1 课 Go 简介
(课程地址: http://study.163.com/course/courseLearn.htm?courseId=306002&from=study#/learn/video?lesso ...
- Debain install Jupyter
1. install Anaconda https://www.anaconda.com/download/#linux 2. config jupyter $ ipython from notebo ...