使用JQuery从Ajax响应中评估JS

时间:2011-07-20 19:52:24

标签: javascript jquery ajax

我有一个我想提交的ajax表单,响应中包含两个div,一个包含html内容,另一个包含脚本标记中的动态javascript。

我正在提交表单并收到回复确定,但我似乎无法得到javascript来评估。我已经在里面发出警报但它永远不会发射。这是我用来提交表单的代码:

$("#categoryFormSubmit").live("click", function(event){
        event.preventDefault();
        var action = this.form.action + '?_eventName=' + this.name + 'Ajax';
        var params = $(this.form).serialize();
        var xhr = $.post(action, params, function(response) {
            var responseDom = $(response);
            var contentData = $('#content', responseDom).html();
            var javascriptData = $('#javascript', responseDom).html();
            $('#content').html(contentData);
            $('#javascript').html(javascriptData);
        }, 'html');
    }); 

在响应中我试图将响应数据转换为DOM对象并解析内容和javascript,并将它们插入到现有的dom中。内容替换工作正常,但似乎没有任何使用JavaScript。我无法评估它。我该怎么做?我想我不应该像我一样尝试将它插入DOM中。

1 个答案:

答案 0 :(得分:0)

无需手动解析响应并单独将HTML和JS添加到您的页面。 jQuery将检测您尝试添加到DOM的标记内的脚本,并将处理它们的正确添加和执行。