Ajax的使用以及跨域(下)
2017-06-14 14:50
225 查看
上一篇文章中我们实现了自己的myAjax封装方法,具体是模仿着jQuery的思路,其实真正的jQuery的ajax方法中,还考虑到另外一个问题的处理,那就是跨域。
在讲跨域之前呢,我们先来回想一下,我们学习ajax的目的是什么?其实学习ajax的目的很简单,就是为了获取到服务器的数据。典型的场景比如说,我们通常在注册界面需要输入用户名和密码,在输入完用户名,光标切换到密码输入框的时候,这时候往往在用户名输入框的后面会有一个提示,告知你所输入的用户名是否可用,也就是是否有别人已经使用了该用户名进行注册。对于前端界面来说,我们必然是不知道用户名究竟有没有被别人使用过,此时只有让服务器告诉我们用户名有没有被使用过。所以此时我们需要访问服务器给我们提供的一个接口地址,调用这个接口地址,传入对应的参数就能够得到数据,这个数据就是服务器告诉我们该用户名是否可用的数据。所以在这时,我们就需要访问服务器的数据,所以就需要使用ajax.
所以使用ajax,就是为了异步获取服务器的数据。
那什么是跨域呢?这里就需要提到我们使用ajax时的一个限制,那就是同源策略。
所谓的同源策略就是你要使用ajax的前端界面,和你需要访问的服务器地址必须是同域名、同端口,同协议,否则不允许访问。
比如:当前前端界面的地址是http://www.abc.com/test.html,如果它要访问的服务器地址为
http://www.haha.com/checkusername.php ,那就访问不到,因为前端界面和服务器地址的域名不一样。具体同源策略的规则可以查看下图:
在讲跨域之前呢,我们先来回想一下,我们学习ajax的目的是什么?其实学习ajax的目的很简单,就是为了获取到服务器的数据。典型的场景比如说,我们通常在注册界面需要输入用户名和密码,在输入完用户名,光标切换到密码输入框的时候,这时候往往在用户名输入框的后面会有一个提示,告知你所输入的用户名是否可用,也就是是否有别人已经使用了该用户名进行注册。对于前端界面来说,我们必然是不知道用户名究竟有没有被别人使用过,此时只有让服务器告诉我们用户名有没有被使用过。所以此时我们需要访问服务器给我们提供的一个接口地址,调用这个接口地址,传入对应的参数就能够得到数据,这个数据就是服务器告诉我们该用户名是否可用的数据。所以在这时,我们就需要访问服务器的数据,所以就需要使用ajax.
所以使用ajax,就是为了异步获取服务器的数据。
那什么是跨域呢?这里就需要提到我们使用ajax时的一个限制,那就是同源策略。
所谓的同源策略就是你要使用ajax的前端界面,和你需要访问的服务器地址必须是同域名、同端口,同协议,否则不允许访问。
比如:当前前端界面的地址是http://www.abc.com/test.html,如果它要访问的服务器地址为
http://www.haha.com/checkusername.php ,那就访问不到,因为前端界面和服务器地址的域名不一样。具体同源策略的规则可以查看下图:
相关文章推荐
- Ajax的使用以及跨域(上)
- Ajax的使用以及跨域(下)
- Ajax的使用以及跨域(中)
- ajax跨域,使用json,crossDomain,请求返回状态200,但是走的error的原因以及解决方法
- Ajax的使用以及跨域
- Ajax的使用以及跨域(中)
- 前后台交互:跨域以及PHP与Ajax的配合使用
- Ajax的使用以及跨域(上)
- Ajax的使用以及跨域(下)
- Ajax的使用以及跨域(中)
- 在Ajax中使用Flash实现跨域数据读取的实现方法
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- 在Ajax中使用Flash实现跨域数据读取的实现方法
- 在Ajax中使用Flash实现跨域数据读取
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- jquery 跨域ajax jsonp使用方法
- 初识ajaxpro以及使用
- ASP.NET AJAX 以及AJAXPRO使用客户端调用服务器端的方法--初学者学习
- ajaxToolkit:AutoCompleteExtender 的触发选择事件以及JSON序列化和使用键值 3ff8 对
- 如何对动态创建控件进行验证以及在Ajax环境中的使用