javascript - JavaScript 可以向 Web 容器 Servlet 发送 HTTP 请求吗?

标签 javascript http servlets

我有一个 Web 应用程序,当前在网页中托管一个小程序。 applet 连接到 Tomcat Servlet 并发送请求。如果我的解决方案可以在客户端使用 Javascript 而不是 Java applet,那么对于某些环境来说会更方便。但这需要 Javascript 向 Tomcat Servlet 发送 POST。

网页由同一个 Web 服务器提供服务 - 实际上是同一个 Tomcat 实例。但是小程序将请求发送到不同的 Servlet。

Javascript 基本上需要定期查询 Servlet 并根据响应调用 javascript 函数。

这可能吗?

如果是这样,关于如何开始的任何指示?

最佳答案

是的,JavaScript 可以向任意网络服务器发送 POST 请求。如果您可以控制 servlet,则可以通过设置 access-control-allow-origin 来避免所有跨站点脚本限制 属性。

AJAX 是网络社区中的一个术语,指的是 JavaScript + HTTP 请求。我推荐这个AJAX tutorial来自 MDN。我也推荐jQuery's AJAX library .


即使服务器设置正确,某些版本的 Internet Explorer 也会给您带来麻烦。这是我用来覆盖所有浏览器的 JS 函数:

/**
 * Wraps jQuery's AJAX, adds X-Domain support for IE
 */
function xDomainAJAX (url, settings) {
  if ($.browser.msie && parseInt($.browser.version, 10) >= 8 && XDomainRequest) {
    // use ms xdr
    var xdr = new XDomainRequest();
    xdr.open(settings.type, url + '?' + $.param(settings.data));
    xdr.onprogress = function() {};
    xdr.onload = function() {
      settings.success(xdr.responseText);
    };
    xdr.onerror = settings.error;
    xdr.send();
  } else {
    // use jQuery ajax
    $.ajax(url, settings);
  }
}

关于javascript - JavaScript 可以向 Web 容器 Servlet 发送 HTTP 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127888/

相关文章:

JavaScript 案例 : "look at" + item

javascript - Django 休息框架 : Loop inside JSON OBJECT

python - 在 Python Flask 应用程序中发送对 OPTIONS 的响应

java - Servlet 未使用新数据更新数据库

java - 我有可变数量的文本框如何在 servlet 中检索它们的值

java - 检查 javascript 函数是从 java applet 定义的

javascript - "and ' 之间的区别

C- 通过网络浏览器访问的 HTTP 网络服务器

http - HTTP header If-None-Match : * mean?是什么意思

java - 如何将java对象从servlet传递到jsp页面