无法在 Ajax 和 qTip2 中显示 HTML servlet 的响应

Cannot display response of HTML servlet in Ajax and qTip2

我正在尝试在 jsp 内的 qTip2 工具提示中显示从 servlet 响应接收的文本(或 html)。我几乎所有的东西都在工作,并且已经用 Firebug 验证了正在调用 servlet 并且正在返回文本,但是当我尝试在我的 ajax 中使用 'html' (或数据)变量时调用,我得到一个错误:HierarchyRequestError:无法将节点插入层次结构中的指定点。

我试过在 JavaScript 警报中显示 html,这就是显示的内容:[object XMLDocument].

事件顺序如下:

1.User 单击 HTML 文本的一部分,其中有一个 link 定义指向 servlet 并传递参数

2.The ajax 调用执行一些处理和 returns 文本或 html

的 servlet

3.The 文本显示为带有 qTip2 的工具提示

如何正确处理来自 servlet 的响应并操作从中接收的文本?

Ajax 调用:

$(".ajax_link").click(function(e) {
    e.preventDefault();
    var $this = $(this);
    var link = $(this).attr('href'); //Gets link url

    $.ajax({
        type: "GET",
        url: link,
        cache: false,

    }).done(function(html) {

        $this.qtip({
            content: {
                text: html //<--this causes error above
              //text: "<table><tr><th>Team</th></tr></table>"  <--this works fine
            }
        });

        $this.qtip('toggle', true);

    });
});

Servlet 代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    System.out.println("inside doGet");

    String var1 = "<table><tr><th>Team</th></tr></table>";

    //var1 = request.getParameter("var1");

    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    PrintWriter out = response.getWriter();
    out.print(var1);
    out.flush();
    out.close();
}

在 ajax 请求中将数据类型作为 html 传递 即

$.ajax({
        type: "GET",
        url: link,
        cache: false,
        dataType : "html"

    }