zoukankan      html  css  js  c++  java
  • Ajax json 数据格式

    ajax :
    是么是同步 什么事异步
    同步现象:客户端发送请求到服务端,当服务端返回响应之前,客户端都处于等待卡死状态。
    异步现象:客户端发送请求到服务器端,无论服务器是否返回,客户端都可以随意做其他的时候,不会卡死。
     
     
     
    二原声js的 ajax 技术这只是作为了解。
    (感觉,我要是会了很多技术,或者说技术练熟练了,我感觉写着还是 很带劲的,可以写的很开心,很嗨的,特别是做项目的时候,就是因为自己现在很多知识不熟练,不清楚。很多的代码要敲是十遍,在脑海中有印象,当然就可以写的很好了)
     
     
    function fn1() {
        alert(11);
        //1创建  ajax q引擎对象 ----所有的操作 都是通过引擎对象
        var xmlHttp = new XMLHttpRequest();
        //2 ,绑定监听---监听服务器是否已经返回相应的数据
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                //5 接受相应的数据
                var res = xmlHttp.responseText;
                alert(res);
            }
        }
        //3、绑定地址
        xmlHttp.open("get", "/ajax/AjaxServlet", true);
        //4发送请求
     
    //if是post请求的话:要在send 发送之前写
     xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlHttp.send();
    }
    按照步骤来:1/第一步创建引擎 2/第二步绑定监听  3/第三步绑定地址 4 /发送请求  ,5 /接受相应的数据,这一步放在第2步的里面。
     
    三 很重要的JSON的数据格式:
    1/对象格式:
    {"key1":obj,"key2":obj,"key":obj}
        //这个里面的obj如果是字符串,那么就要加引号,如果不是就直接写
        
    2/数组:集合格式:
    var json = {
                "key1":"value1",
                "key2":{"firstname":"张","lastname":"三丰","age":100},
                "key3":[
                          {"name":"小双","age":28,"addr":"扬州"},
                          {"name":"建宁","age":18,"addr":"紫禁城"},
                          {"name":"阿珂","age":10,"addr":"山西"},
                      ]
        };
        alert(json.key2.lastname);
        alert(json.key3[2].name);
    其实每一步只需要一步步点出来就可以了。
    //java代码只能返回一个json格式的字符串
            response.setContentType("text/html;charset=UTF-8");
            response.getWriter().write("{"name":"汤姆","age":21}");
    当是post请求的时候,是不需要去管字符集的,因为这里ajax a已经帮你调用过。parseJSONY已经处理过字符集了。其他的就跟平时一样处理字符集就可以了。
     
     
    jQuery的ajax技术:重点:
    记住要使用:jquery 最重要的前提就是要导包 jquery的包
     
    get 方法 和post 方法  
    但是最重要的还是ajax最原始的方法
    function fn1(){
            //get异步访问
            $.get(
                "/WEB22/ajaxServlet2", //url地址
                {"name":"张三","age":25}, //请求参数
                function(data){ //执行成功后的回调函数
                    //{"name":"tom","age":21}
                    alert(data.name);
                },
                "json"
            );
        }
        function fn2(){
            //post异步访问
            $.post(
                "/WEB22/ajaxServlet2", //url地址
                {"name":"李四","age":25}, //请求参数
                function(data){ //执行成功后的回调函数
                    alert(data.name);
                },
                "json"
            );
        }
        function fn3(){
            $.ajax({
                url:"/WEB22/ajaxServlet2",
                async:true,
                type:"POST",
                data:{"name":"lucy","age":18},
                success:function(data){
                    alert(data.name);
                },
                error:function(){
                    alert("请求失败");
                },
                dataType:"json"
            });
        
     
    async :是否异步,默认是TRUE代表异步。
    data :发送到服务器的参数,建议使用json的格式
    dateType :服务器端返回的数据类型,常用的text和json 一般都是json
    success :成功响应执行的函数,对应的类型是function类型
    type:请求方式 ,post /get
    url :请求的服务器端地址
     
    今天算是复习了,不得不说效率还是 太慢了一点。这个 不能这个样子了。
    贴吧的代码,支付宝的代码, struts2 的 filter 明天面试,改背的一定要好好去背
  • 相关阅读:
    cf B. Sereja and Suffixes
    cf E. Dima and Magic Guitar
    cf D. Dima and Trap Graph
    cf C. Dima and Salad
    最短路径问题(floyd)
    Drainage Ditches(网络流(EK算法))
    图结构练习—BFSDFS—判断可达性(BFS)
    Sorting It All Out(拓扑排序)
    Power Network(最大流(EK算法))
    Labeling Balls(拓扑)
  • 原文地址:https://www.cnblogs.com/rianbowymail/p/9075892.html
Copyright © 2011-2022 走看看