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 明天面试,改背的一定要好好去背

 

posted @ 2018-05-23 11:14  rianbowymail  阅读(127)  评论(0编辑  收藏  举报