【问题标题】:Ajax + servlet GET request issueAjax + servlet GET 请求问题
【发布时间】:2012-04-11 06:08:01
【问题描述】:

我想创建一个基于How to use Servlets and Ajax? 答案的简单 AJAX 调用。
servlet 处理请求(它可以在 doGet() 函数中的控制台上打印),但客户端没有任何反应。 Chrome 错误信息是:

XMLHttpRequest cannot load http://localhost:8080/package/servlet. Origin null is not allowed by Access-Control-Allow-Origin.

谢谢!

【问题讨论】:

  • 所以 servlet 运行在与发送 ajax 请求的页面不同的域上?这是绝对必要的吗?
  • 我从本地存储 (C:) 运行 html。那是问题吗?我应该如何运行它?

标签: ajax web-applications servlets xmlhttprequest cors


【解决方案1】:

看起来浏览器端正在拒绝基于Cross Origin Resource Sharing 的 AJAX 请求/响应。这就是 Access-Control-Allow-Origin 标头的来源。阅读 this thread 以获取有关如何解决此问题的一些提示。

【讨论】:

  • 谢谢,我之前已经看过这个帖子,但没有帮助。
【解决方案2】:

我从本地存储 (C:) 运行 html。那是问题吗?我应该如何运行它?

这绝对是个问题。您应该改为通过 HTTP 请求 HTML。您的目标最终用户也不会从本地磁盘文件系统运行 HTML,对吧?

在浏览器中打开http://localhost:8080/package/filename.html

【讨论】:

  • 哦,是的,你是对的!我现在在同一个域上运行 html,它工作正常。感谢您的提示!
猜你喜欢
  • 2013-07-08
  • 2021-10-20
  • 1970-01-01
  • 2012-06-06
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
相关资源
最近更新 更多