ajax是怎样传输数据的?

ajax是怎样传输数据的?

ajax是什么鬼呢?其实不难理解,它只是一个哥们“发明”的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。

 

Web的运作原理就是:一次http请求对应一个页面,这也是form表单提交之后会刷新页面的原因

如果用户停留在这个页面中,同时发生新的HTTP请求,就必须用javascrpt发送这个新的请求,接收到数据后,在用javascript更新页面,这样,用户就感觉自己仍然停留在当前的也民安,但是数据是不断更新的

 

用javascritp写一个完整的AJAX要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。

 

AJAX的两种传输:post和get

基本步骤:

    1.创建连接

    2.客户端向服务端发送数据

    3.服务端向客户端返回数据

    4.客户端接收数据完毕

<div id="div"></div>
<input type="file" id="pic" />
<img src="" alt="" id="image" style="width:400px;height:30/>
<script>
//script代码:
    //创建一个xhr对象
    var xhr = new XMLHttpRequest();    
  //请求过程中,readStatehi发生变化
   //0 - 初始状态,
   //1 - 开始创建连接
   //2 - 客户端向服务端发送数据
   //3 - 服务端开始想客户端返回数据
   //4 - 客户端接收数据完毕
       
  xhr.onreadystatechange=function(){
       console.log(this.readyState);//1 2 3 4
   }
    
  //请求状态可以有另一种写法,意义相同,表明后台已经成功返回数据
   //等同于:if(this.readyState==4){}
   xhr.onload=function(){
    console.log(this.responseText);
    }

   //发送数据
   //post
    var img = document.getElementById("pic");
    img.onchange=function(){

      xhr.open("post","11.14jsonData.php",true);\

      //FormData()建立对象传送数据
      var formData = new FormData();
      formData.append("title","京东方");
      formData.append("data","2017-11-14");
      formData.append("pic",img.files[0]);//选中的第一张图片
      //2.发送数据:send()方法
      xhr.send(formData);
    }

   //get
   xhr.open("GET","11.14jsonData.php?action=1&data=abc",true);
   xhr.send(null);
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值