使用ajax的servlet响应中的HTML未在JSP页面中执行

时间:2013-12-13 20:38:03

标签: java jquery ajax jsp servlets

我的问题有点奇怪。我有一个JSP页面,在组合框更改时使用JQuery / ajax调用servlet。一切正常,我收到回复,但html显示为文本。值得一提的是,当我直接通过URL调用servlet时,一切都很好。

Servlet响应代码:

for(int i=0;i<tabstr.length;i++){
        wyjscie.println(i+": "+tabstr[i]+" <br>");
    }

JSP ajax调用:

$('#com2').change(function() {
                $.get('filtr', function(responseText) {
                    $('#result').text(responseText);
                });
            });

result是JSP页面中DIV的ID。我以前做过一些没有ajax的servlet,之前我没遇到过这个问题。知道怎么处理吗?

2 个答案:

答案 0 :(得分:0)

你必须设置为html而不是文本试试这个

$('#result').html(responseText);

答案 1 :(得分:0)

我认为您的服务器没有指定响应的mime类型。所以你必须指定它,或者你可以在ajax调用中指定dataType

$.ajax({
   url : "myUrl",
   dataType : "json",
   data : {
     param1 : value1,                   
   }
});

ajax api:

  

dataType :您期望从服务器返回的数据类型。如果没有   如果指定,jQuery将尝试根据MIME类型推断它   回应......