如何从ajax在自托管servlet上调用
How to call a on a self hosted servlet from ajax
我有一个servlet,它将数据作为xml页面发布。我在JavaEE的EclipseIDE中制作了它,并将它托管在Tomcat服务器上。servlet托管在http://localhost:8080/Checkers/CheckersServlet.我可以在firefox中打开那个url,它会很好地加载xml。如何从ajax代码调用servlet?
我认为它应该是下面的代码,但这对我来说不起作用。(其中displayResult(req)是一个自定义函数,它对从servlet接收的xml执行我想要的操作)。我已经通过调试确认问题不是从servlet接收任何xml。
我需要制作其中一个web.xml文件吗?或者,当我点击"新Servlet"时,这是由Eclipse处理的吗
var req = new XMLHttpRequest();
req.onreadystatechange = function()
{
if(req.readyState == 4)
{
displayResult(req);
}
}
var url = "http://localhost:8080/Checkers/CheckersServlet";
req.open("GET",url,true);
req.send(null);
如果您的servlet可以通过web浏览器或curl
访问,那么问题就出在客户端。
您在哪里托管JavaScript,即运行此JavaScript代码的页面的URL是什么?若不是localhost:8080
,则很遗憾您遇到了同源策略。为了验证,请添加我可以在任何浏览器上禁用SOP(同源政策)中描述的代码片段进行开发吗?-在您接受Firefox中的更改后,它应该可以工作。
最简单正确的解决方案是将js
文件放在Eclipse中的某个位置,并将其部署为Tomcat,以便在localhost:8080/Checkers/some-file.js
(同一域)下可用。
相关文章:
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- Java servlet代码未被调用
- 从 Servlet 调用 Javascript 函数
- JavaScriptajax请求servlet调用错误回调函数
- 如何从servlet调用jsp中定义的函数
- 从JavaScript到servlet的Ajax调用
- waht是将数组从jqueryajax调用传递到servlet的最佳方式
- 调用一个不返回任何内容的servlet..加载时从jsp
- 如何从struts2应用程序中的AJAX调用url调用servlet
- 是我提供的代码实际上与AJAX调用I'I’我想对Servlet做点什么
- 如何在单击时在选择框中进行 servlet 调用
- 使用从 ajax servlet 调用返回的 json 更新数据表时出错
- 如何从servlet调用一个javascript函数,它是一个消息框函数
- 如何从Servlet调用Javascript函数2
- 如何使来自JSP的Servlet调用更安全
- 在java中从servlet调用javascript
- Java Web App + Javascript -无需servlet调用即可在客户端浏览器上更新信息
- 从Servlet调用JavaScript函数,在JSP页面中定义
- 从servlet调用参数化的javascript函数
- JSP - SERVLET - 从 servlet 调用 JavaScript 函数