zoukankan      html  css  js  c++  java
  • 7.20总结

    今天讲了Ajax。首先大概介绍一下ajax是干什么的!ajax就是通过后台与服务器进行少量的数据交互,只要作用是增强用户体验的。(如果没有异步加载,页面加载速度会变慢)

    关于ajax的书面解释:AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。他是存在于浏览器中,服务器不用做任何操作

    交互模型图如下:

    具体代码及注意事项:

    交互页面中写<script>标签:

    <script type="text/javascript">
    function testAajx(){
    //创建一个请求对象
    var request;
    if(window.XMLHttpRequest){
    //创建对象
    request = new XMLHttpRequest();
    }else if(window.ActiveXObject){
    request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    //监听函数 是一个回调函数
    request.onreadystatechange = function (){
    var div = document.getElementById("msg");
    if(request.readyState == 4){
    if(request.status == 200){
    //显示数据
    var data = request.responseText;
    //data = {"id":1,"username":"admin","password":"admin123","email":"admin@admin.com"};
    eval("data="+data);
    console.log(data);
    console.log(typeof data);
    div.innerHTML = data.username;
    }else if(request.status == 404){
    div.innerHTML = "资源不存在!";
    }else if(request.status == 500){
    div.innerHTML = "资源感冒了!";
    }

    }else{
    div.innerHTML = "<img src="assets/images/loading.gif" />";
    }

    };
    request.open("post", "ajax01");
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send("username=lisi#zhangsan&password=123123");
    }
    </script>

    注意事项:

      open中的参数:

        //第一个参数 表示 提交方式

        //第二个参数 表示提交的地址
        //第三个参数 表示是否位同步 默认值是 true 如果为false 表示同步 是可选的
        //第四个和第五个参数 表示 basic认证所需的用户名和密码 不常用
        //如果在参数中存在特殊字符 则需要用encodeURIComponent进行转码

      get方式和post方式传参数

        get方式:
          需要将参数放到open方法中 换句话说 就是将参数放在url后面
          传递方式 相当于在地址栏上面传入参数 如果 在传输的工程中 存在特殊字符 需要用encodeURIComponent进行转码

        post方式:post方式也可采用get的方式传参数

          不同的是 post方式更多的是将参数 放在 send方法中传输 但是 和get方式的参数组织方式相同
          如果要想用post将参数传入后台 一定要在 open方法和send方法之间 调用setRequestHeader 进行设置头信息
          将参数编码方式设置为和普通form表单一样

    要实现Java与前台页面的数据交互,免不了要将json的字符串与Java类进行转换,最后我们讲了一个Gson,是专门用来处理Java类与json字符串做转换的

      语法:String json = new Gson().toJson(cities);//将一个存有Java类对象的list转化成字符串

         Users u = gson.fromJson(json_str, Users.class);//将一个json字符串转化成Java类

          set容器中装在user类,转化成json:以名:值的形式存在 {"id":20,"username":"李四","password":"123123","email":"lisi@lisi.com"},当set中存在多个对象时,将自动转换成json数组,一个对象一个对象的存储;eg:[{"id":20,"username":"李四","password":"123123","email":"lisi@lisi.com"},{"id":20,"username":"李四1","password":"123123","email":"lisi@lisi.com"},{"id":20,"username":"李四2","password":"123123","email":"lisi@lisi.com"}]

          map容器转换成JSON,同set一样,名:值形式存储。  eg: {"id":30,"username":"wangwu"}

          list容器:同样存储方式

      注意:有gson-2.4.jar包要导入项目中

  • 相关阅读:
    element-ui的气泡确认框
    ES6 检测数组中是否存在满足某些条件的元素实现方式
    P6788 「EZEC-3」四月樱花
    Codeforces Global Round 10(CF1392)
    Ynoi2019模拟赛
    谷粒学院项目分享(源码+资料+课件)全部齐全
    安装最新版NUXT
    LibreOJ #6284
    LibreOJ #6283
    LibreOJ #6282
  • 原文地址:https://www.cnblogs.com/yaya-yaya/p/5689668.html
Copyright © 2011-2022 走看看