在单个ajax调用中将不同的内容放在不同的div中

时间:2017-02-14 09:59:44

标签: javascript jquery ajax datatables

我有一个项目,我有一个这个ajax调用。它工作正常。

$.get(
    'accNoRealMovs1.jsp',
    {mode:"0"},         
    function(responseText){
        $('#divAccMovementNR').html(responseText);
    },'html'
 ); 



<div id="divAccMovementNR"></div>
<div id="divAccMovementNR2"></div>

我的accNoRealMovs1.jsp是

<% jsp scriplet getting "mode" parameter and other instructions%>
..
<script>
$(document).ready(function() {
alert('hello');
var t1 = $('#table1').DataTable(); //Convert table1 into Datatable Jquery (plugin)
var t2 = $('#table2').DataTable(); //Convert table2 into Datatable Jquery (plugin)
})
</script>
<div id="divAccMovementNR"><table id="table1">...</table></div>
<div id="divAccMovementNR2"><table id="table2">...</table></div>

在上面的示例中,执行了javascript代码,即出现警报并在Datatables中转换表。但是两个数据表都放在同一个div“divAccMovementNR”中。

但是我想通过仅使用一个ajax调用返回两个不同div中的两个数据表,因此我必须指定每个div内容。 我遵循这些主题:

jQuery .load() / .ajax() not executing javascript in returned HTML after appended

How to include multiple rendered JSP into response to AJAX?

这是我的代码:

$.get(
    'accNoRealMovs1.jsp',
    {mode:"0"},         
    function(responseText){

    // I try with only one div, but it doesnt work.
    $responseText = $(responseText);                    
    $('#divAccMovementNR').html($('#divAccMovementNR' , $responseText).html());
    $responseText.find('script').appendTo('#divAccMovementNR');

    //$('#divAccMovementNR2').html($('#divAccMovementNR2' , $responseText).html());
    //$responseText.find('script').appendTo('#divAccMovementNR2');

    },'html'
);  

但是,使用上面的代码,警报不会出现,表格会显示但不会在数据表中转换。

其他细节,我使用了很多jquery ajax“post”调用,但是在我发现的例子中,人们使用“get”调用。我想继续使用“帖子”。但无论如何......使用“get”调用我没有任何问题。

你知道吗?感谢

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。一个是在下面。由于代码限制,我还没有检查输出,但逻辑应该工作。如果有任何错误,请告诉我。

IgniteCache#isLocalLocked()