【问题标题】:HTML from servlet response using ajax is not being executed in JSP page使用 ajax 的 servlet 响应中的 HTML 未在 JSP 页面中执行
【发布时间】:2014-01-01 18:10:20
【问题描述】:

我的问题有点奇怪。我有一个 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,以前没有遇到过这个问题。知道如何处理吗?

【问题讨论】:

    标签: java jquery ajax jsp servlets


    【解决方案1】:

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

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

    【讨论】:

    • 我不得不等待几分钟才能接受,尽快完成:P
    【解决方案2】:

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

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

    ajax api:

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

    【讨论】:

    • 感谢您的宝贵时间,我很感激,但我已经找到了解决方案 - 请参阅 Ramesh 的帖子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    相关资源
    最近更新 更多