javaScript(拼写树形)+ajax请求,去后台查找数据

第一步:页面加载完成时,利用jquery中的一函数,调用js方法,js方法,发送ajax请求,去后台查找父类权限集合,响应回来json格式的数据,对数据进行操作,往页面上添加内容

 1 //页面初始化加载菜单内容
 2     $(document).ready(function(){
 3         loadPower(0);
 4     });
 5
 6 //加载一级权限菜单
 7     function loadPower(pId){
 8         $.ax({
 9             type: "get",
10             url: "<%=request.getContextPath()%>/master/sysPower_loadParentPower.action?sysPower.sysParentId="+pId,
11             async: false,
12             dateType: "json",
13             success: function(resp){
14                 var powers = resp["rows"];
15                 if(powers.length>0){
16                     var showPowers = $("#showPowers").html();
17                     for(var i=0;i<powers.length;i++){
18                         showPowers += "<li id=‘"+powers[i].sysPowerId+"‘><a href=‘javascript:void(0)‘ onclick=\"loadChildPower(‘"+powers[i].sysPowerId+"‘);\">"+powers[i].sysPowerName+"</a><div  class=‘opt‘><a href=‘javascript:void(0)‘ onclick=\"updatePower(‘"+powers[i].sysPowerId+"‘);\">编辑</a> | <a href=‘javascript:void(0)‘ onclick=\"deletePower(‘"+powers[i].sysPowerId+"‘);\">删除</a> </div></li>";
19                     }
20                     $("#showPowers").html(showPowers);
21                 }
22             }
23         });
24     }

第二步:在拼写的页面中,添加操作的请求地址。例如(加载父权限下的子权限,修改,删除操作的url请求后台的地址)

//加载二级权限菜单
    function loadChildPower(pId){
        if($("#"+pId).find("ul").length==0){
            $("#"+pId).append("<ul></ul>");
            $.ax({
                type: "get",
                url: "<%=request.getContextPath()%>/master/sysPower_loadParentPower.action?sysPower.sysParentId="+pId,
                async: false,
                dateType: "json",
                success: function(resp){
                    var powers = resp["rows"];
                    if(powers.length>0){
                        for(var i=0;i<powers.length;i++){
                            $("#"+pId).find("ul").append("<li id=‘"+powers[i].sysPowerId+"‘>"+powers[i].sysPowerName+"<div  class=‘opt‘><a href=‘javascript:void(0)‘ onclick=\"updatePower(‘"+powers[i].sysPowerId+"‘);\">编辑</a> | <a href=‘javascript:void(0)‘ onclick=\"deletePower(‘"+powers[i].sysPowerId+"‘);\">删除</a> </div> </li>");
                        }
                    } else {
                        $("#"+pId).find("ul").append("<li>暂无下级权限 <div  class=‘opt‘>无操作</div></li>");
                    }
                }
            });
        } else {
            //显示\隐藏菜单
            if($("#"+pId).find("ul").css("display")=="block"){
                $("#"+pId).find("ul").css("display","none");
            } else {
                $("#"+pId).find("ul").css("display","block");
            }
        }
    }

第三步:修改和删除权限的js操作

//编辑
    function updatePower(powerId){
        window.open("<%=request.getContextPath()%>/master/sysPower_findPowerById.action?sysPower.sysPowerId="+powerId,"","height=400,width=600,top=200,left=450,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
    }
    //删除
    function deletePower(powerId){
        if(window.confirm("确认删除?"))
        $.ax({
            type:"get",
            url:"<%=request.getContextPath()%>/master/sysPower_deletePower.action?sysPower.sysPowerId="+powerId,
            async: false,
            //dataType:"json",
            success:function(resp){
                if(resp==true){
                    $("#"+powerId).remove();
                }
            }
        });
    }

 第四步:当是修改权限的时候,向后台发送ajax请求((会打开一个新的窗口,子页面)),查处该权限的信息,然后回显到新窗口。提交新窗口的form表单修改,响应回一个页面,页面上一个按钮,用来刷新父页面,是修改权限的窗口。

//子窗口回显信息的form表单
<form action="<%=request.getContextPath() %>/master/sysPower_updatePower.action" method="post">
    <div class="formbody">

    <div class="formtitle"><span>权限详情</span></div>

    <ul class="forminfo">
    <input name="sysPower.sysPowerId" type="hidden" class="dfinput" value="${sysPower.sysPowerId }" />
    <input name="sysPower.sysParentId" type="hidden" class="dfinput" value="${sysPower.sysParentId }" />
    <li><label>权限名称</label><input name="sysPower.sysPowerName" type="text" class="dfinput" value="${sysPower.sysPowerName }" /></li>
    <li><label>权限URL</label><input name="sysPower.sysPowerUrl" type="text" class="dfinput" value="${sysPower.sysPowerUrl }" /></li>
    <li><label>权限排序</label><input name="sysPower.sysSort" type="text" class="dfinput" value="${sysPower.sysSort }" /></li>
    <li>
        <label>&nbsp;</label><input name="" type="submit" class="btn" value="提交修改" />
    </li>
    </ul>

    </div>
    </form>

//提交form表单后,响应回来的页面,有一个按钮,出动js方法,刷新父窗口内容,让父窗口是修改后的显示

<script type="text/javascript">
        function freshAndClose(){
            window.opener.location.reload(true);
            setTimeout("window.close()",500);
        }
    </script>

</head>

<body>

    更新成功<br/>
    <input type="button" class="btn" value="关闭" onclick="freshAndClose();"/>

</body>

javaScript(拼写树形)+ajax请求,去后台查找数据

时间: 2024-08-19 06:35:57

javaScript(拼写树形)+ajax请求,去后台查找数据的相关文章

ajax从asp后台获取数据

1.前台 $.ajax({ //url: "demo/data/taskTree.txt", url: "GanttChart.aspx?taskList=1" , cache: false, success: function (text) { var data = mini.decode(text); gantt.loadTasks(data); gantt.unmask(); //折叠全部 //gantt.collapseAll(); } }); 2.后台 ?

前台ajax请求php后台返回成功却进error方法解决

最近几天一直都在解决error问题,周末都没能好好过,悲痛万分,想逃走??..... 一.悲痛的开端 项目用jQuery的ajax方法请求php后台,前台代码写的没有问题,后台返回的json数据大概也是对的(猜的,后来验证了json是对的),然后悲剧就如约而至: 先看核心代码: $.ajax({ type:"POST", url:"{:U('City/adds')}", data:{}, dataType: 'json', success:function(data

JQuery AJAX请求aspx后台方法

利用JQuery封装好的AJAX来请求aspx的后台方法,还是比较方便的,但是要注意以下几点: 1.首先要在方法的顶部加上[WenMethod]的特性(此特性要引入using System.Web.Services;命名空间) 2.其次方法一定要是静态(static)方法. 下面我做了几个不同的调用后台方法的例子: 1.不带参数返回string方法 前台代码: 1 //不带参数返回string方法 2 $.ajax({ 3 type: "post", 4 url: "后台返回

Ajax 请求时后台跳转 前端页面不更新踩坑记录

踩坑环境:前端:Ajax post请求,json类型数据:后端 C#+MVC,前后端正常通信,但是当后台验证权限不通过时会RedirectToAction跳转到登录页,结果现象是后台正常执行登录页的渲染,渲染完成之后前端ajax进入error,页面不刷新. 经检查页面不跳转是因为后台渲染页面后以字符串形式返回,被ajax接收,有因为前端设置json格式所以进入error,看来需要后台返回状态和url,前端js来进行页面跳转,但总感觉这样不太方便,继续研究一下能否实现后台跳转,有方案再来更新内容.

巧用ajax请求服务器加载数据列表时提示loading

我们利用weui.js中的weui.loading为效果,ajax的beforeSend与complete方法,做一个加载数据时会有几秒的 loading... 要在页面需要加载的JS文件: <script src="../js/libs/weui.min.js"></script> 可以去weui的文档中下载,这是它的demo:   https://weui.io/weui.js/ 这里主要讲jQuery ajax的get,查询数据时,它的结构为: $.aja

jQuery Ajax请求提交 后台getParameter接收不到数据

今天遇到的问题,总结一下 jQuery的$ajax({ contentType:"application/json",  //发送信息至服务器时内容编码类型. }) 这样的方式提交时,如果指定contentType为application/json:此时后台通过传统的getParameter("属性名")不能够获取前端传过来的数据, 此时需要 使用 http://blog.csdn.net/mhmyqn/article/details/25561535 这里的方法去

ajax请求得到后台数据,前台页面不用拼接 “字符串和HTML表格标签”,使用方便模板然后clone,显示表格

<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib uri="htt

ajax请求到后台数据,前台不用拼接字符串,一样显示到页面

<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib uri="htt

Ajax请求C#后台某个方法

前台: 1 $.ajax({ 2 url: "TransBloodRequisition.aspx/aaa",//页面后台带方法名 3 contentType: "application/json",//必须为application/json 4 type: "POST",//必须为POST 5 data: "{ }",//格式为 "{a:1,b:2}" 6 dataType: "json&quo