我有以下servlet,它接受某些参数并发送响应:
int shares= sh.viewProtfolio().getShareInfoByCompName(value);
response.setContentType("text/plain");
response.getWriter().write(shares);
我在前端跟随jquery:
$("#company").change(function(){
$.get('${pageContext.request.contextPath}/ajax?get=getSharesInfo&value='+ company.val(),
function(response) {
console.log(response);
});
});
我在服务器端进行了调试,我确实看到我正在向响应对象写入整数个共享。但是在正面,我正在接受?'符号。不知道为什么,任何帮助都会受到赞赏。
我也试过设置字符编码,但这次我得到了一些其他随机字符。
response.setCharacterEncoding("UTF-8");
答案 0 :(得分:0)
通过将int转换为String然后将其写入响应来解决问题。
Integer shares= sh.viewProtfolio().getShareInfoByCompName(value);
response.setContentType("text/plain");
response.getWriter().write(shares.toString());
文档参考:
http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html#write(int)
IO pritntWriter.Write(int)方法尝试将我的int结果编码为char。这是造成这种意外行为的原因。