如何在jquery中使用ajax响应在html中添加一个新行

时间:2014-01-27 08:13:38

标签: jquery ajax servlets

我正在使用jquery ajax从servlet发送和接收数据。例如:

$(document).ready(function(){
            $('button').click(function(){
                $.post('/test/hello',{no:'5'},function (response){
                    $('#div').text(response);

                });
            });
        });

这是我在hello.java servlet中的代码

 String no = request.getParameter("no");
        int n = Integer.parseInt(no);
        for (int i = 0; i < n; i++) {
            out.println("hello<br/>"); 
        }

然而,当我从servlet得到响应时,hello后跟break标记在一个连续行中在屏幕上打印5次,即break标记不被解释为html而是文本。

如何让Jquery将break标记解释为新行,以便我得到这样的输出?

你好嗨你好嗨你好嗨你问你好

2 个答案:

答案 0 :(得分:4)

由于您要在回复中使用.html()而不是.text()发送HTML。

$('#div').html(response);

答案 1 :(得分:0)

您必须使用.append()

 $('#div').empty().append(response);

因为.text()将html解析为字符串并将其作为字符串放置。

您也可以使用html:

$('#div').html(response);