Ajax学习

1 原生请求步骤

(1)创建XMLHttpRequest对象

(2)准备发送:open()
包含三个参数:
method:get/post
url:链接的php文件

(3)发送请求:send()
get请求send()为空

(4)监听函数
xhr.onreadystatechange

2 Readystate状态码

(1)0表示为创建完对象

(2)1表示准备发送请求

(3)2表示服务器接收请求

(4)3表示服务器处理请求

(5)4表示服务器处理完毕,响应数据

http协议状态码:xhr.status
2XX:表示成功 200
3XX:重定向
4XX:资源不存在

POST传递参数需要设置请求头信息:
xhr.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded;charset=utf-8”)

3 参数传递

(1)get:用url传递参数

(2)post:在send中传递参数

4 json

将字符串转换成对象:JSON.parse()

5 ajax兼容写法

var xhr=null;
if(window.XMLHttpRequest)
{
xhr=new XMLHttpRequest();
}
else
{
xhr=new ActiveXObject('Microsoft.XMLHTTP');
}

6 Jquery的ajax写法

语法:
$.ajax({
type:“post/get”,
url:"",
data:{},
dataType:“json/xml/text/html/js”,//返回的数据类型
async:“true”,
success:function(res){},//请求成功的函数 res形参
error:function(error){},//请求失败 error 形参失败类型
beforeSend:function(){},//请求成功之前执行的函数
complete:function(){},//请求完毕 不管成功还是失败都执行

})

7 跨域

从当前的域下区访问其他域下的资源

为什么要跨域?
(1)资源可能在不同的服务器上存储

(2)访问其他网站的资源

解决跨域的方案:
(1)jsonp
动态创建script标签,利用src属性访问浏览器上的任意资源
(2)cors资源共享
设置响应同,使浏览器允许跨域请求

<?php header("Access-Control-Allow-Origin"); ?>

(3)proxy反向代理
(4)iframe

jquery封装的跨域请求:
$.ajax({
type:“get”, //jsonp跨域只有get请求
url:“接口”,
dataType:‘jsonp’,
data={},
jsonp:’’,//后台定义的接收的函数名字
jsonpCallback:"",
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值