【发布时间】:2017-01-28 10:26:24
【问题描述】:
我有一个jsp页面,index,代码如下:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="alteraSala.js"></script>
<div id="conteudo">
<select id="sala">
...
</select>
<div id="resultado"></div>
</div>
我的 servlet 类似于:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/hello")
public class Hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<b>HELLO</b>");
}
}
我还有一个 AJAX 文件:
$(document).ready(function () {
$('#sala').change(function (event) {
var name = $('#sala').val();
$.get('../EditarSala', {
sala: name
}, function (responseText) {
$('#resultado').text(responseText);
});
});
});
问题是页面的输出不是: 你好 它的: 你好
编辑:
改变:
response.setContentType("text/plain");
到:
response.setContentType("text/html");
还是不行
编辑 2:
由于某种原因,当我从以下位置更改 AJAX 文件时:
$('#resultado').text(responseText);
到:
$('#resultado').append(responseText);
它可以正确显示文本,但我不能使用 append。
【问题讨论】:
-
尝试设置 response.setContentType("text/plain");到 response.setContentType("text/html");
-
@YogeshKumarGupta 感谢您的帮助!我确实改变了,但没有用。
-
我看不出有什么不工作的原因..cn你查看你的html页面的源代码并粘贴到这里?
-
@YogeshKumarGupta 你是什么意思?
-
我在本地机器上试过你的例子,我可以看到改变 contentType 已经解决了这个问题。
标签: java jquery ajax jsp servlets