Fácil de usar JSON y AJAX

JSON

JSON (JavaScript Object Notation) es un formato de intercambio de datos de peso ligero , fácil de leer y escribir, pero también es fácil para las máquinas para analizar y generar. JSON con total independencia del idioma del texto, muchos idiomas proporciona soporte para JSON, por lo que es JSON idioma (entre cliente y servidor) un excelente intercambio de datos.

Un uso, JSON en JavaScript

1,1 json definido

//定义
var jsonobj = {
    "key1": 12,
    "key2": "abc",
    "key3": true,
    "key4": [11, "arr", false],
    "key5": {
        "key5_1": 222,
        "key5_2": "value"
    },
    "key6": [
        {
            "key6_1_1": 6611,
            "key6_1_2": "value"
        },
        {
            "key6_2_1": 7777,
            "key6_2_2": true
        }
    ]
};

1.2 Acceso JSON

JSON en sí es un objeto, atributo clave para un objeto comprensible

alert(typeof (jsonobj));        //object json是一个对象
alert(jsonobj.key1);            //12
alert(jsonobj.key2);            //abc
alert(jsonobj.key3);            //true
alert(jsonobj.key4);            //数组

//遍历数组
for (let i = 0; i < jsonobj.key4.length; i++) {
    alert(jsonobj.key4[i])
}

Dos métodos comunes 1.3 Json

Json están presentes en la forma de una cadena, y dos formas del objeto (el objeto cuando se requiera procedimiento general formato de datos JSON, intercambio de datos se lleva a cabo generalmente usando cadena JSON)

JSON.stringify (): convierte un objeto de cadena JSON

JSON.parse (): la cadena de caracteres en un objeto JSON

Dos, el uso de JSON en el servidor

2.1 JavaBean y la conversión entre JSON

//1.JavaBean与json互转
@Test
public void json1() {
    Person person = new Person(1,"磊爷");
    //创建Gson对象实例
    Gson gson = new Gson();
    //toJson:转换为字符串
    String json = gson.toJson(person);
    System.out.println(json);
    //fromJson:转换为对象  json字符串   对象
    Person json1 = gson.fromJson(json, Person.class);
    System.out.println(json1);
}

2.1 Lista y JSON Huzhuan

//2.list和json互转
@Test
public void json2() {
    List<Object> list = new ArrayList<>();
    list.add(new Person(1,"磊爷"));
    list.add(new Person(2,"jsb"));
    list.add(new Person(3,"asb"));
    //转为json字符串
    Gson gson = new Gson();
    String json = gson.toJson(list);
    System.out.println(json);
    //转为对象
    Object json1 = gson.fromJson(json, new TypeToken<List<Person>>(){}.getType());
    System.out.println(json1);
}

2.1 mapa y JSON Huzhuan

//3.map和json互转
@Test
public void json3() {
    Map<Integer, Person> map = new HashMap<>();
    map.put(1, new Person(1,"磊爷"));
    map.put(2, new Person(2,"jsb"));
    //转换为字符串
    Gson gson = new Gson();
    String json = gson.toJson(map);
    System.out.println(json);
    //转换为对象
    Object o = gson.fromJson(json, new TypeToken<Map<Integer, Person>>() {
    }.getType());
    System.out.println(o);
}

AJAX

AJAX que "Asynchronous JavaScript And XML" (JavaScript asíncrono y XML), se refiere a una técnica de desarrollo web para crear aplicaciones web interactivas

AJAX es un navegador inicia una solicitud de JS asíncronos. página parcial tecnología de actualización

Sync: El cliente debe esperar la respuesta del servidor. No se pueden realizar otras operaciones mientras espera

No requiere la respuesta del servidor: Inducción

Mientras ajax puede que tenga que cargar páginas web, parte de actualización de la página

Una petición AJAX nativa

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function fun() {
            //发送异步请求
            //1.创建核心对象
            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            //2.建立连接
            /*
                 参数:
                    1.请求方式 get、post
                        get方式,请求参数在url后边拼接,send方法为空参
                        post方式,请求参数在send方法中定义
                    2.请求url
                    3.同步false 异步true
             */
            xmlhttp.open("GET","test1.txt",true);
            //3.发送请求
            xmlhttp.send();
            //4.接受并处理来自服务器的响应结果
            //获取方式:xmlhttp.responseText
            //获取时间:当服务器响应成功后获取
            //当xmlhttp对象就绪状态改变时,会触发事件
            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    //获取服务器响应结果
                    var responseText = xmlhttp.responseText;
                    alert(responseText);
                }
            }
            
        }
    </script>
</head>
<body>
    <input type="button" value="发送异步请求" onclick="fun();">
</body>
</html>

Dos, solicitud de jQuery AJAX en

Método .ajax 2.1 $

  • URL es la dirección de la petición
  • Tipo representa el tipo de petición GET / POST
  • los datos indica que los datos se envían al servidor
    • nombre = valor y nombre = valor
    • {valor clave}
  • devolución de llamada de respuesta de solicitud de éxito, la respuesta
  • Respuesta tipo de datos tipoDatos
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script>
            function fun() {
                $.ajax({
                    url:"ajaxServlet",
                    type:"post",
                    //data:"username=jack&age=23"
                    data:{"username": "lei", "age": 23},
                    success: function () {
                        alert("成功了")
                    },

                })
            }
        </script>
    </head>
    <body>
        <input type="button" value="发送异步请求" onclick="fun();">
    </body>
</html>

2.2 $ .get ()

  • url
  • datos
  • llamar de vuelta
  • tipo

2.3 $ .post ()

  • url
  • datos
  • llamar de vuelta
  • tipo

Supongo que te gusta

Origin www.cnblogs.com/yfyyy/p/12641340.html
Recomendado
Clasificación