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 明天面试,改背的一定要好好去背
  • 相关阅读:
    Android中内容观察者的使用---- ContentObserver类详解 (转)
    Android应用中使用及实现系统“分享”接口
    logcat的调试 比较有用的几个命令
    ASP.NET AJAX入门系列(10):Timer控件简单使用
    ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
    ASP.NET AJAX入门系列(8):自定义异常处理
    ASP.NET AJAX入门系列(7):使用客户端脚本对UpdateProgress编程
    ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍
    ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二) UpdatePanel
    ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)
  • 原文地址:https://www.cnblogs.com/rianbowymail/p/9075892.html
Copyright © 2011-2022 走看看