Jquery 从Ajax响应获取无效响应
我有以下servlet,它接受特定参数并发送响应:Jquery 从Ajax响应获取无效响应,jquery,ajax,jakarta-ee,servlets,Jquery,Ajax,Jakarta Ee,Servlets,我有以下servlet,它接受特定参数并发送响应: int shares= sh.viewProtfolio().getShareInfoByCompName(value); response.setContentType("text/plain"); response.getWriter().write(shares); 我在前端有以下jquery: $("#company").change(function(){ $.get('${pageContext.request.contextP
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");
通过将int转换为String,然后将其写入响应,修复了该问题
Integer shares= sh.viewProtfolio().getShareInfoByCompName(value);
response.setContentType("text/plain");
response.getWriter().write(shares.toString());
文件参考:
IO pritntWriter.Write(int)方法试图将我的int结果编码为char。这就是导致这种意外行为的原因。请查看开发人员工具/Firebug的“网络”选项卡中的完整响应。servlet必须发送回除共享数量之外的其他内容。只是检查了它。响应中唯一的值是“?”我不知道java ee,但听起来像是
response.getWriter()。write(shares)
没有做你认为应该做的事情。如果你自己解决了问题,你应该将其作为答案发布,这不是问题。看起来servlet无法将int写入响应流。是的,我会把它作为答案贴出来。谢谢你的帮助。