【问题标题】:Getting Error in jquery js while loading an external jsp into the current page DOM将外部jsp加载到当前页面DOM时在jquery js中出错
【发布时间】:2012-04-24 04:53:36
【问题描述】:

我需要加载一个外部 jsp 页面,该页面将包含定义了函数的脚本标签。我必须将jsp页面的一部分加载到请求页面的div中,并将脚本加载到页面中并在当前页面中调用这些脚本函数..

我尝试过使用带有 GET 类型和 async:false 的 jquery ajax 调用。但是当将返回的数据加载到当前页面DIV时,globalEval函数中出现jquery js错误。

firebug 指向 jquery js 源码的这一部分..

// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
    globalEval: function( data ) {
        if ( data && rnotwhite.test( data ) ) {
            // We use execScript on Internet Explorer
            // We use an anonymous function so that context is window
            // rather than jQuery in Firefox
            ( window.execScript || function( data ) {
                window[ "eval" ].call( window, data );
            } )( data );
        }
    },

下面是我正在使用的代码 sn-p..

$.ajax({url:'/web/guest/campaignreports',success:function (data) {

                    alert('hi');




                    dialogData = $(data).find('.portlet-content');

                    $('body div#second_popupcontent').html(data);

                    Demographicshome_charts();
                    $('body div#second_popupcontent').dialog({title: "Pop Up",width: 600,modal: true,
                        buttons: {
                            "Cancel":function(){
                            $(this).dialog('close');
                            }
                            }
                        });

                    },cache:false,async:false,type:'GET'});

请指导我,让我知道我做错了什么,并帮助我解决这个问题并让我的要求工作......

【问题讨论】:

    标签: javascript jquery ajax jsp


    【解决方案1】:

    您是否找到脚本的哪一行触发了错误?

    为什么要初始化 dialogData?尤其是那里!为什么不:

    $('#second_popupcontent').html(data);
    dialogData = $('#second_popupcontent .portlet-content');
    

    也许你的问题来自这里...

    此外,添加额外的选择器(例如 'body div#second_popupcontent'; )是一种不好的做法; '#second_popupcontent' 就足够了,而且通常更快。

    【讨论】:

    • 你的意思是我可以将 jsp 页面加载到 div 中,然后提取其中的一部分并将其用于弹出窗口...是这样吗???
    • 是的,你可以。在您的示例中,您提取了响应的一部分,但没有使用它......您在#second_popupcontent 中注入数据,而不是dialogData。
    • 实际上我必须将 jsp 的一部分(但包括该 jsp 页面中的所有脚本)加载到当前页面 div(DOM 元素)中,并使用该 div 将其显示为弹出窗口。 .这样可以吗..
    猜你喜欢
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多