Ajax

手动编写Ajax,不依赖第三方库?跨域(原理)的几种实现方式?

1XMLHTTPRequest

2状态码说明

3跨域

IE兼容性问题ActiveXObject

readyState:0(未初始化)还没有调用send()方法,还没有发送

                     1(载入)乙调用send()方法,正在发送请求

                     2(载入完成)send()执行完成,已经接收到全部响应内容

                     3(交互)正在解析响应内容

                     4(完成)响应内容解析完成,可以在客户端调用了

status:

2XX表示成功处理请求

3XX重定向,浏览器直接跳转;

301 redirect: 301 代表永久性转移(Permanently Moved)

302 redirect: 302 代表暂时性转移(Temporarily Moved )

HTTP 304: Not Modified 
标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

4XX客户端请求错误,404找不到

5XX服务器端错误,504服务器链接数据库超时

跨域

前端:JSONP,

服务器端可以设置:http header

跨域概念:浏览器有同源策略,不予许Ajax访问其他域的接口

协议、域名、端口有一个不同就是跨域

http默认端口是80,HTTPS的是443

可以跨域的三个标签:

<img src=“”>用于打点统计,统计网站可能是其他域,没有兼容问题,防盗链,例如,百度的图片,不是百度的链接就没有办法用

<link href=xxx>可以使用CDN,CDN的也是其他域

<script src=XXX>可以使用CDN,CDN的也是其他域,可以用于JSONP

所有的跨域请求都必须经过信息提供方的允许

如果未经允许即可获取,浏览器出现同源策略的问题

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值