我有一个 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/