原生ajax剖析

// 1. 得到一个ajax的对象
var ajax = new XMLHttpRequest();

// console.log( typeof ajax);//object

//2. 请求一个php文件
// open('请求方式', '请求的php文件的路径', true/false)       
// 请求方式: get/post      true代表异步, false代表同步,一般使用true
ajax.open('get', './php/2.php', true);

// 3. 执行(发送)
ajax.send();

// 4. 接收到php返回给ajax的数据
ajax.onreadystatechange = function()
{
    //onreadystatechange 当状态发生改变时就会触发我们函数

    // readyState: 获取到状态值,status : HTTP状态码
    // console.log(ajax.readyState);

    if( ajax.readyState == 4  && ajax.status == 200 ){

         //在函数内部可以接收到php给ajax返回的值

         //接收到php返回的值
         alert( ajax.responseText );
    }
}

ajax.readyState五种状态:

0 :(未初始化)还没有调用send()方法 
1 :(载入)已调用send()方法,正在发送请求 
2 :(载入完成)send()方法执行完成,已经接收到全部响应内容 
3 :(交互)正在解析响应内容 
4 :(完成)响应内容解析完成,可以在客户端调用了 

post方式需要设置编码

ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
// 参数写在send()方法里
ajax.send('id=1&name=jack');

解决ajax跨越:在请求的文件头部设置header

// 指定域名
header('Access-Control-Allow-Origin:http://127.0.0.1');
// 允许所有域名
header('Access-Control-Allow-Origin:*'); 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值