zoukankan      html  css  js  c++  java
  • ajax是怎样传输数据的?

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

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

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

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

    AJAX的两种传输:post和get

    基本步骤:

        1.创建连接

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

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

        4.客户端接收数据完毕

    html代码
    
    <div id="div"></div>
    <input type="file" id="pic" />
    <img src="" alt="" id="image" style="400px;height:30/>
    
    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);
  • 相关阅读:
    使用Vue组件写table选项卡
    Vue父子之间的值传递
    前端常用插件网站
    如何使用requireJs模块化开发
    gulp压缩html,css,js文件流程、监听任务、使用gulp创建服务器、同时运行多个任务、反向代理
    jQuery实现吃鱼游戏
    jQuery实现打飞机游戏
    jQuery实现瀑布流布局
    jQuery实现拖拽元素
    jQuery对象与原生js对象之间的转换
  • 原文地址:https://www.cnblogs.com/ydfqixn/p/7836118.html
Copyright © 2011-2022 走看看