通过Ajax请求的JS值在JSP中显示

昨天做了个菜单树,通过dTree生成。

先在后台对dTree格式的JS树形结构进行拼接,然后再通过AJAX请求返回到前台JSP页面中,可是到了JSP页面中之后有那棵树,但是就是不能显示,这问题一直困恼了我一下午,真是百思不得其解啊。在网上找了很多资料,但是看的我是雾里云里,就在快要放弃另选途径的时候天空一阵巨响,答案闪亮登场。具体做法如下:

1、在前台JSP页面的BODY中编写了一个DIV:<div id="menuTreeFrame"></div>

2、通过AJAX提交:

//通过ajax提交
function ajaxSub(){
    $.ajax({
        url:"/remoteSale/mdspsys00001/menu/",
        type:"post",
        data:"type=tree",
         success:function(transport){
            document.getElementById('menuTreeFrame').innerHTML= transport;
            //转换JS的方法
            executeScript(transport);
         },
         error:function(){
         }
    });
}
3、重点是那个JS的转换方法

function executeScript(html)
{
    var reg = /<script[^>]*>([^\x00]+)$/i;
    //对整段HTML片段按<\/script>拆分
    var htmlBlock = html.split("<\/script>");
    for (var i in htmlBlock) 
    {
        var blocks;//匹配正则表达式的内容数组,blocks[1]就是真正的一段脚本内容,因为前面reg定义我们用了括号进行了捕获分组
        if (blocks = htmlBlock[i].match(reg)) 
        {
            //清除可能存在的注释标记,对于注释结尾-->可以忽略处理,eval一样能正常工作
            var code = blocks[1].replace(/<!--/, '');
            try 
            {
            	eval(code); //执行脚本
            } 
            catch (e) 
            {
            }
        }
    }
}

最后,通过“eval(code)”对此JS执行,JSP页面中DIV名称为“menuTreeFrame”进行展现你所需要的内容啦!!!


注意:貌似不能展示出JS所需要的效果,只能简单的显示成一棵树以及所需的图片,而连最起码的“展现”与“收缩”功能都没有,哎!

今天终于通过自己的不懈努力写出了自己所需的完美的菜单树,稍后会编写给大家!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 JSP 页面显示 AJAX 请求返回的参数,你可以使用 JavaScript 和 DOM 操作。以下是一个示例代码: 1. 在 JSP 页面添加一个元素用于显示返回的参数,比如 <div id="result"></div>。 2. 编写一个 JavaScript 函数用于发送 AJAX 请求并将返回的参数显示在页面上,示例如下: ``` function sendAjaxRequest() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("result").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_request.jsp", true); xhttp.send(); } ``` 3. 在 JSP 页面添加一个按钮或链接,用于触发 AJAX 请求,比如 <button onclick="sendAjaxRequest()">发送请求</button>。 4. 在服务端编写一个 JSP 页面,用于处理 AJAX 请求并返回参数,比如 ajax_request.jsp。在这个页面,你可以通过 request 对象获取请求参数,通过 response 对象返回响应参数,比如: ``` <% String param = request.getParameter("param"); String result = "Hello, " + param + "!"; response.setContentType("text/plain"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(result); %> ``` 当你点击发送请求按钮时,JavaScript 函数 sendAjaxRequest() 会向 ajax_request.jsp 发送一个 AJAX 请求,并在返回参数后将其显示在页面上。注意,ajax_request.jsp 返回的参数必须是一个纯文本字符串,否则显示可能会出现问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值