【问题标题】:AJAX call received by servlet but no response is givenservlet 收到 AJAX 调用但没有响应
【发布时间】:2012-04-25 05:09:09
【问题描述】:

我有一个简单的 chrome 应用程序,它向运行在 tomcat 7.0 上的 servlet 发送请求。 servlet 成功接收到请求,但 chrome 应用程序从未得到响应。 chrome 应用程序接收到状态 0 和 readyState 4,并使用:

 var xmlhttp = new XMLHttpRequest();
 xmlhttp.onreadystatechange = function() { alert(xmlhttp.status + " " + xmlhttp.readyState); }
 xmlhttp.open("GET", http://localhost:8084/NewServlet");
 xmlhttp.send(null);

我的 chrome 应用程序清单包含:

"permissions": [
    "http://localhost/",
    "tabs"
 ]

servlet 自己打开流到浏览器的流并打印一条消息。有人知道如何解决这个问题吗?谢谢!

【问题讨论】:

  • 不确定The servlet itself opens the stream to the browser and prints a message 是什么意思,因为 servlet 无法做到这一点。但是如果你的函数被调用并且readyState 是4,那么看起来响应被返回了,除了状态码是垃圾。您是否缺少 servlet 本身中的 HTTP 状态代码?
  • servlet 有一个 HTTPResponse 对象,这就是我在处理来自浏览器的响应时所说的对象。是否必须手动设置servlet的状态码,我认为如果处理了请求,则默认为200。

标签: java javascript tomcat servlets google-chrome-extension


【解决方案1】:

"http://localhost/" 更改为"http://localhost/*"。第一个将只允许没有/NewServlet 路径的请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2013-01-28
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    相关资源
    最近更新 更多