Ajax和跨域问题深入解析和跨域问题深入解析
主要为大家详细介绍了Ajax和跨域问题,告诉大家什么Ajax,什么是跨域?具有一定的参考价值,感兴趣的小伙
伴们可以参考一下
什么是什么是ajax
Ajax(Asynchronous JavaScript and XML),是一种可以向服务器请求额外的数据并且无需刷新页面的技术,ajax的出现带来了更
好的用户体验.
Ajax的核心就是XMLHttpRequest(XHR)对象.XHR为向服务器发送请求和解析服务器响应提供了流畅的接口.可以使用XHR对
象获取新数据,通过DOM将新数据插入到页面.虽然名字中包含XML,但是ajax通信和数据格式无关;这种技术就是可以不用刷新
就从服务器获取数据,但是不一定是XML数据,也可以是json.
XMLHttpRequest对象对象
XHR的用法的用法
1.创建一个XMLHttpRequest对象
2.发送请求
1).设置请求行 xhr.open()
2).POST请求需要设置请求头 xhr.setRequestHeader() POST请求头Content-Type的值: application/x-www-form-urlencoded
3).设置请求体 xhr.send() get请求传null,post根据情况
3.处理服务器响应
先判断响应状态码和异步对象是否解析完毕.
服务器返回的状态码 status
1xx:消息
2xx:成功
3xx:重定向
4xx:请求错误
5xx:服务器错误
异步对象的状态码 readystate
0:异步对象已经创建
1:异步对象初始化完成,发送请求
2:接收服务器返回的原始数据
3:数据正在解析,解析需要时间
4:数据解析完成,数据可以使用了
XML
XML的特点,出身名门,W3C制定,微软和IBM曾经共同大力推荐过的数据格式.XML 指可扩展标记语言(Extensible Markup
Language),被设计用来传输和存储数据,HTML 是设计用来表示页面的.
语法规则:和HTML差不多,都是通过标记来表示的
特殊符号:比如<>要使用实体-转移字符
xml的解析需要前后台配合:
1.后台在返回的时候,在响应头中设置Content-Type的值为 application/xml
2.前台异步对象在接收后台数据时,记得按照xml的方式来接收,xhr.responseXML,并且它返回的是一个object对象,内容是
#document
JSON
JSON(JavaScript Object Notation),出身草根,是 Javascript 的子集,专门负责描述数据格式.JSON本身是一个特殊格式的字
符串,可以转换成js对象,是网络上用来传输数据使用最广泛的数据格式,没有之一.
语法规则语法规则:数据以 key/value 值对表示,数据由逗号分隔,大括号保存对象,中括号保存数组,名称和值都需要使用双引号包含(这个
是和js的一点小区别).
js中解析中解析/操作操作JSON:
1.JSON.parse(json字符串); 将一个json格式的字符串解析成js对象
2.JSON.stringify(js对象); 将一个js对象转成一个json格式的字符串