Javascript/Java Servlet之间的响应/请求
Response/Request between Javascript/Java Servlet
我有一个简单的测试客户端-服务器应用程序。客户端是html/javascript,服务器- Java Servlet
首先我想测试请求/响应机制。因此,我使用了一个简单的客户端代码(jQuery):
$.get ("http://localhost:8081/TestProject/BasicServlet",
function(data) {
alert('Data:' +data);
}
);
服务器端:
protected void doGet(HttpServletRequest req, HttpServletResponse res) ... {
String callBack = "TestCallback";
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
out.write(callBack.getBytes("UTF-8"));
out.flush();
}
所以,Servlet捕获来自客户端的请求,但我有响应问题,响应头看起来不错,具有字符属性,但我没有收到callBack数据
作为Firebug的响应,我有3个选项卡,Header, Answer, HTML。答案和HTML为空
编辑:我发现了一个问题:它是Access-Control-Allow-Origin违规。感谢您的帮助!
根据这里的文档
http://download.oracle.com/javaee/6/api/javax/servlet/ServletResponse.html getOutputStream
用于发送二进制数据。所以我的猜测是Content-Type
头被设置为一些不被jQuery识别的MIME类型。我建议你检查是否内容类型头仍然是"文本/html"在响应中使用FireBug,或使用
PrintWriter writer = res.getWriter();
writer.write(callBack);
writer.flush();
顺便说一下,使用PrintWriter
发送文本数据是推荐的方法。
尝试out.print()而不是out. write(),您将在ajax调用中获得响应。
相关文章:
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 显示IIS上javascript文件(SOAP请求)的XML响应
- http请求使用html而不是json进行响应
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- Angular,对飞行前请求的响应
- 如何发送作为节点请求响应函数中的代码块的响应
- "所请求的名称已经作为不同类型的“”存在;HTTP 409响应错误
- 如何解压缩NodeJS请求's模块gzip响应体
- 在ajax请求中使用jquery获取javascript响应UJS
- HTTP请求使用cURL,但在浏览器中使用javascript时会得到CORS响应
- IE 10 挂起 XMLHttpRequest 6 分钟,然后响应请求(使用 AngularJS 实现 CRSF)
- backbone.js中.save()的响应/请求对象
- Django - 响应请求 AJAX
- 在响应请求之前,web服务器可以通过何种方式检查是否重定向现有页面上的GET请求
- 如何在完成SpookyJS脚本时响应请求
- Q延迟的Express未响应请求
- 节点.js:如何在检索数据时关闭响应/请求(chucks)
- Javascript/Java Servlet之间的响应/请求
- Ajax.更新程序和python响应请求