首页
登录 | 注册

使用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.北京服务器(域名:www.beijing.com)
3.上海服务器(域名:www.shanghai.com)
4.比如北京的web服务器的后台(www.beijing)



2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.008 s.
京ICP备10005923号