使用ajax前必须了解的知识
ajax的全称:
asynchronous javascript and xml
(异步的javascript和xml)
ajax不是某种编程语言
是一种在无需重新加载整个页面的情况下能够更新部分网页的技术。
一个完整的http请求过程,有7个步骤:
1.建立TCP连接。
2.Web浏览器向Web服务器发送请求命令。
3.Web浏览器发送请求头信息。
4.Web服务器应答。
5.Web服务器发送应答头信息。
6.Web服务器向浏览器发送数据。
7.Web服务器关闭TCP连接
一个http请求一般由四部分组成:
1.http请求的方法或动作,比如是GET还是POST请求。
2.正在请求的URL。
3.请求头,包含一些客户端环境信息,身份验证信息等。
4.请求体,也就是请求正文,请求正文中可以包含客户的提交的查询字符串信息,表单信息等等。
GET:(幂等:就是一个GET请求执行一次和执行一万次的效果是一样的)
1.一般用于信息获取(查询),
2.使用URL传递参数,
3.对发送的信息的数量有限制,一般在2000个字符。
4.好处就是可以添加到书签中收藏页面。
POST:
1.一般用于修改服务器上的资源,
2.对所发送的信息的数量无限制,
3.被嵌入到http的请求体中。
一个http响应一般么由三部分组成:
1.一个数字和文字组成的状态码,用来显示请求是成功还是失败,
2.响应头,响应头也和请求头一样包含许多有用的信息,例如服务类型,日期时间,内容类型和长度等,
3.响应体:也就是响应正文
http状态码由32位数字构成,其中首位数字定义了状态码的类型:
1XX:信息类,表示收到Web浏览器请求,正在进一步处理中,
2XX:成功,表示用户请求被正确接受,理解和处理,例如:200 OK
3XX:重定向,表示请求没有成功,客户必须采取进一步的动作,
4XX:客户端错误,表示客户端提交请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在,
5XX:服务器错误,表示服务器不能完成对请求的处理,例如:500
JSON的基本概念
1.json:javasscript对象表示法,(javascript Object Notation)
2.json是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,北京托福易于人们阅读,同时也易于机器解析和生成。
3.json是独立于语言的,也就是不管什么语言,都可以解析json,只需要按照json的规则来就行。
json和xml比较
1.json的长度和xml格式比起来很短小。
2.json读写的速度更快
3.json可以使用javascript内建德方法直接进行解析,转换成javascript对象,非常方便。
json可以是下面类型:
1.数字(整数或浮点数),比如123,1.23.
2.字符串(在双引号中)
3.逻辑值(true或false)
4.数组(在方括号中)
5.对象(在花括号中)
6.null
解析json的方法:
1.var
jsondata={“staff”:[{“name”:”红旗”,”age”:”23”},{“name”:”小红”,”age”:”13”}]};
var
jsonbj=JSON.parse(jsondata);
alert(jsonbj.staff[0].name)
使用jquery实现ajax
1.jQuery.ajax([settings])
2.type:类型,”POST”或”GET”,默认为”GET”。
3.url:发送请求的地址。
4.dataType:预期服务器返回的数据类型,如果不指定,jquery将自动根据http包MIME信息来智能判断,一般我们采用json格式,可以设置为”json”。
5.success:是一个方法,请求成功后的回调函数,传入返回后的数据,以及包含吗成功代码的字符串。
6.error:是一个方法,请求失败
时回调用此函数。传入XMLHttpRequest对象。
跨域
1.一个域名的地址组成:
协议,子域名,主域名,端口号中任意一个不相同时,都算作不同域,
2.不同域之间相互请求资源,就算作”跨域”,
3.比如http://www.abc.com/index.html 请求
http://www.egf.com/service.php
4.jsvsscript出于安全方面的考虑,不允许跨域调用其他页面的对象,什么是跨域呢,简单的理解就是因为javascript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。
5.例如www.abc.com/index.html调用https://www.abc.com/servic.php(跨域)
处理跨域的方法–代理
1.通过在同域名的web服务器端创建一个代理
2.北京服务器
3.上海服务器
4.比如北京的web服务器的后台
使用ajax前必须了解的知识的更多相关文章
- AJAX跨域调用相关知识-CORS和JSONP(引)
AJAX跨域调用相关知识-CORS和JSONP 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常 ...
- thinkphp+jquery+ajax前后端交互注册验证
thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- JSON(及其在ajax前后端交互的过程)小识
一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...
- WeX5 - AJAX跨域调用相关知识-CORS和JSONP
http://docs.wex5.com/ajax-cross-domain/ 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容 ...
- AJAX跨域调用相关知识-CORS和JSONP
1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常会遇到在一个页面的JS代码中,需要通过AJAX去 ...
- SSM-网站后台管理系统制作(4)---Ajax前后端交互
前提:Ajax本身就为前后端交互服务的,实现功能:用户输入信息,实时判断用户的情况,这也是现在登录界面普遍流行的做法.前端js通过注释识别Controller层,该层查询返回,和之前Google验证码 ...
- 弄一个ajax笔记方便查询-基础知识篇
jQuery对Ajax做了大量的封装,jQuery采用了三层封装: 最底层的封装方法为:$.ajax() 通过最底层进一步封装了第二层的三种方法:.load().$.get().$.post() 最高 ...
- AJAX(一、基本知识)
AJAX:Asynchronous ([ə'sɪŋkrənəs; eɪ-])Javascript (['dʒɑ:və,skrɪpt])and XML 异步的Javascript和XMLAJAX不是新的 ...
- JQuery ajax 前后端传值介绍
https://jingyan.baidu.com/album/ca41422f0bf08e1eae99ed04.html?picindex=5 现在我们话不多说,开始仔细讲解一下我们ajax内部传递 ...
随机推荐
- C# 中定义斜杠 \
\ 是转义符 如 \’ 单引号 \” 双引号 \\ 反斜杠 \0 空 \a 警告(产生峰鸣) \b 退格 \f 换页 \n 换行 \r 回车 ...
- 关于this、Echarts中的data
this是指当前对象 移除class的jQuery代码:$('ur.nav li:eq(0)').removeClass('active') 添加class的jQuery代码:$('ur.nav li ...
- Chrome打开标签页预览
类似于Microsoft Edge浏览器上的标签页缩略图预览非常方便,其实现在谷歌浏览器正在测试相关的功能,如果想提前体验,就在地址栏输入"chrome://flags"并按下回车 ...
- oracle存储过程调试-plsql
1.搜索找到存储过程的包,并打开 选中右击--view spec&body 2.找到要测试的存储过程,设置断点,进行测试
- Hibernate使用时需要注意的几个小问题
今天晚上玩了一下JDBC连接数据库,之后又利用Hibernate进行了数据库的访问,感觉利用Hibernate对数据库访问在文件配置好了之后确实更加简单快捷. 但是在操作的过程中也有一些细节需要注意一 ...
- web调试代理工具Whistle
由于最近在学习微信小程序开发,项目中用到了https代理请求,所以用到了基于Node实现的跨平台web调试代理工具Whistle,在此做一记录. 完成https代理请求总共需要5个步骤. 一.安装No ...
- NGUI的拖拽和放下功能的制作,简易背包系统功能(drag and drop item)
一我们添加sprite,给sprite添加背景图片和添加box collider,但是drag and drop item在attach中是找不到的只能在add component中查找添加,如下图: ...
- 金蝶云k3 cloud采购入库单校验日期不通过
新增采购入库单的时候提示单据日期必须大于等于货主组织在核算系统最后关账日期 解决办法:库存系统和存货核算系统的反关账
- 【知识强化】第三章 存储系统 3.4 主存储器与CPU的连接
我们这节课来看一下关于主存的一些知识.我们将要讲解主存的简单的模型和主存与CPU连接的连接原理. 我们之前呢在第一章已经学过了存储器的构成,包括了存储体.MAR(也就是地址寄存器).MDR(也就是数据 ...
- c++求中位数
#include <iostream> #include <cassert> #include <stack> #include <math.h> us ...