探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识

探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识

.get 和 .post

.get

使用 .get 方法发送 HTTP GET 请求:

$.get("test.php", { name: "John", time: "2pm" })
    .done(function(data) {
        alert("Data Loaded: " + data);
    });
  • test.php :请求的 URL 地址
  • { name: "John", time: "2pm" } :要发送的数据

.post

使用 .post 方法发送 HTTP POST 请求:

$.post("test.php", { name: "John", time: "2pm" })
    .done(function(data) {
        alert("Data Loaded: " + data);
    });
  • test.php :请求的 URL 地址
  • { name: "John", time: "2pm" } :要发送的数据

注: 两种方式的用法本质一样。只是在数据传递、数据量较大、安全等方面的处理上有些许区别。具体使用需要根据实际需求来选择。

.ajax

使用 .ajax 方法发送 HTTP 请求:

$.ajax({
    url: "test.php",
    type: "POST",
    data: {id : 01, name : "John"},
    success: function(data) {
        alert(data);
    },
    error: function() {
        alert("error");
    }
});
  • url :请求的 URL 地址
  • type :请求类型(GET 或 POST)
  • data :要发送的数据
  • success :成功回调函数
  • error :失败回调函数

ztree

zTree 是一种快速、灵活的多功能 JavaScript 构建树的插件。下面是一个简单使用 zTree 实现树的代码:

<div id="tree"></div>
var setting = {
    data: {
        simpleData: {
            enable: true
        }
    }
};

var zNodes = [
    {id:1, pId:0, name:"父节点1 - 展开", open:true},
    {id:11, pId:1, name:"父节点11 - 折叠"},
    {id:111, pId:11, name:"叶子节点111"},
    {id:112, pId:11, name:"叶子节点112"},
    {id:113, pId:11, name:"叶子节点113"},
    {id:12, pId:1, name:"父节点12 - 折叠"},
    {id:121, pId:12, name:"叶子节点121"},
    {id:122, pId:12, name:"叶子节点122"},
    {id:123, pId:12, name:"叶子节点123"},
    {id:2, pId:0, name:"父节点2 - 折叠"},
    {id:21, pId:2, name:"父节点21 - 展开"},
    {id:211, pId:21, name:"叶子节点211"},
    {id:212, pId:21, name:"叶子节点212"},
    {id:213, pId:21, name:"叶子节点213"},
    {id:22, pId:2, name:"父节点22 - 折叠"},
    {id:221, pId:22, name:"叶子节点221"},
    {id:222, pId:22, name:"叶子节点222"},
    {id:223, pId:22, name:"叶子节点223"},
    {id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}
];

$(document).ready(function(){
    $.fn.zTree.init($("#tree"), setting, zNodes);
});

后台 servlet 传递数据

使用 Java 后台 servlet,可以通过以下方式向前端传递数据。

使用 JSON 传递数据

使用 Gson 可以将 Java 对象转换为 Json 字符串。

protected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
    Gson gson = new Gson();
    User user = new User("John", "john@example.com");
    String json = gson.toJson(user);
    resp.setContentType("application/json;charset=UTF-8");
    PrintWriter out = resp.getWriter();
    out.print(json);
    out.flush();
    out.close();
}

使用 Map 传递数据

使用 map 传递数据:

protected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
    Map<String, Object> map = new HashMap<>();
    map.put("name", "John");
    map.put("age", 25);
    map.put("email", "john@example.com");
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(map);
    resp.setHeader("Content-Type", "application/json;charset=utf-8");
    PrintWriter out = resp.getWriter();
    out.print(json);
    out.flush();
    out.close();
}

注:这里使用了 Jackson 库中的 ObjectMapper 类将 Java 对象转换为 Json 字符串。

示例

下面是一个完整的示例,演示了如何使用 zTree 自定义树、使用后台 servlet 数据传递、使用 .ajax 获取服务端传递的数据。

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>zTree</title>
        <meta charset="utf-8">
        <link href="css/zTreeStyle/zTreeStyle.css" rel="stylesheet">
    </head>
    <body>
        <div id="tree"></div>
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="js/jquery.ztree.core.js"></script>
        <script>
            var setting = {
                view: {
                    showIcon: false
                },
                data: {
                    simpleData: {
                        enable: true
                    }
                }
            };
            var zNodes = [
                {id:1, pId:0, name:"父节点1 - 展开", open:true},
                {id:11, pId:1, name:"父节点11 - 折叠"},
                {id:111, pId:11, name:"叶子节点111"},
                {id:112, pId:11, name:"叶子节点112"},
                {id:113, pId:11, name:"叶子节点113"},
                {id:12, pId:1, name:"父节点12 - 折叠"},
                {id:121, pId:12, name:"叶子节点121"},
                {id:122, pId:12, name:"叶子节点122"},
                {id:123, pId:12, name:"叶子节点123"},
                {id:2, pId:0, name:"父节点2 - 折叠"},
                {id:21, pId:2, name:"父节点21 - 展开"},
                {id:211, pId:21, name:"叶子节点211"},
                {id:212, pId:21, name:"叶子节点212"},
                {id:213, pId:21, name:"叶子节点213"},
                {id:22, pId:2, name:"父节点22 - 折叠"},
                {id:221, pId:22, name:"叶子节点221"},
                {id:222, pId:22, name:"叶子节点222"},
                {id:223, pId:22, name:"叶子节点223"},
                {id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}
            ];

            $(document).ready(function(){
                $.fn.zTree.init($("#tree"), setting, zNodes);
                $.ajax({
                    url: "getJsonData",
                    type: "GET",
                    dataType: "json",
                    success: function(data) {
                        console.log(data.name);
                        console.log(data.email);
                    },
                    error: function() {
                        alert("error");
                    }
                });
            });
        </script>        
    </body>
</html>

Java 后台:

public class GetJsonDataServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = new User("John", "john@example.com");
        Gson gson = new Gson();
        String json = gson.toJson(user);

        Map<String, Object> map = new HashMap<>();
        map.put("name", "John");
        map.put("email", "john@example.com");
        ObjectMapper mapper = new ObjectMapper();
        String mapJson = mapper.writeValueAsString(map);

        response.setContentType("application/json;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print(mapJson);
        out.flush();
        out.close();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

访问 index.html 页面,控制台输出:

John
john@example.com

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQWidgets jqxScrollBar largestep属性

    以下是关于 jQWidgets jqxScrollBar 组件中 largestep 属性的详细攻略。 jQWidgets jqxScrollBar largestep 属性 jQWidgets jqxScrollBar 组件的 largestep 属性用于设置动条的大步长。 语法 // 设置大步长 $(‘#scrollBar’).jqxScrollBar(…

    jquery 2023年5月12日
    00
  • 如何使用jQuery在下拉列表中选择第一个元素

    使用jQuery在下拉列表中选择第一个元素的方法如下: 使用 :first 伪类选取下拉列表的第一个选项 可以使用 jQuery 中的 :first 伪类选取下拉列表的第一个选项,然后对选项进行操作。示例代码如下: // 获取下拉列表第一个选项 var firstOption = $(‘select option:first’); // 设置下拉列表第一个选…

    jquery 2023年5月12日
    00
  • jQuery实现tag便签去重效果的方法

    下面就为你详细讲解jQuery实现tag标签去重的效果方法。 1. 背景 在一个表单中,我们经常需要添加标签,以达到更好的数据组织和管理。然而,这些标签可能会出现重复的情况。而去重是解决标签冲突的一个非常实用的方法。本文就来介绍如何利用jQuery实现tag标签去重的效果。 2. jQuery实现标签去重的原理 去重,是指从一组数据中抽取出不重复的数据项。在…

    jquery 2023年5月28日
    00
  • JQuery.Ajax()的data参数类型实例详解

    JQuery.Ajax()是JQuery库中一个常用的方法,用于向后端服务器发送异步请求并获取响应结果。其中,最常用的参数之一就是 data。data参数用于指定要发送到服务器的数据。下面将讲解data参数的详细使用方法并给出两个实例。 1. data参数的数据类型 data参数可以是一个普通对象,也可以是一个字符串。如果是字符串则必须满足url编码规范。需…

    jquery 2023年5月27日
    00
  • jQuery 学习6 操纵元素显示效果的函数

    让我来详细讲解一下 ” jQuery 学习6 操纵元素显示效果的函数” 的完整攻略。 1. 添加和移除元素类名 我们可以使用 jQuery 来添加和移除元素的类名。以下是相关的两个函数: addClass(className) 该函数可以向选定的元素添加一个或多个类名。函数接受一个参数 className,表示要添加的类名。如果需要添加多个类名,可以使用空格…

    jquery 2023年5月27日
    00
  • EasyUI jQuery numberbox Widget

    EasyUI jQuery numberbox Widget完整攻略 EasyUI jQuery numberbox是一款基于jQuery框架封装的数字输入框控件,具有实用性和美观性,适用于Web前端开发中的表单输入操作。 基本用法 在使用EasyUI jQuery numberbox之前,需要先引入相关的CSS和JS文件。 <link rel=&qu…

    jquery 2023年5月13日
    00
  • 最简单的jQuery程序 入门者学习

    下面是关于“最简单的jQuery程序 入门者学习”的详细攻略: 简介 jQuery是一种流行的JavaScript库,用于简化HTML文档的遍历和操作、事件处理、动画效果和Ajax操作等任务。它可以使开发人员以更少的代码完成更多的任务,并且在不同浏览器和平台之间提供一致的API。 jQuery的引入 在使用jQuery之前,必须先将jQuery库文件引入到页…

    jquery 2023年5月28日
    00
  • 原生和jQuery的ajax用法详解

    原生和jQuery的Ajax用法详解 Ajax 概述 Ajax 是 Asynchronous JavaScript and XML 的缩写,即异步的 JavaScript 和 XML。Ajax 技术允许页面向服务器发送异步请求并获取数据,然后在页面上进行局部更新,不用重新加载整个页面,从而提升了用户体验。 在 JavaScript 中,可以使用原生的XMLH…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部