ajax问题 - 200在萤火虫中,但没有响应身体的红色信息

我有与跨域有关的小ajax问题,因为我看到它。ajax问题 - 200在萤火虫中,但没有响应身体的红色信息

在LOCALMACHINE我创建的HTML例如用一些Ajax: 在注册文本字段的用户类型“用户名”, 上的每个键击AJAX其发送到 本地的Tomcat,其中Servlet检查是否该用户名已被使用 和发送“采取'回应。

本地主机根本没有问题。 只要我键入'用户名'servlet发送'采取'的回应 和浏览器显示它。

但是,当我把测试的HTML页面远程机器上的AJAX (一些免费托管在远程网络上) 是在我的本地的Tomcat发送验证请求, 连接时, 在Tomcat的控制台,我看到的要求正在添加, 并在Mozzila这Firebug的控制台输出中:

GET http://89.216.182.25:8080/Dinamicki1/UsernameServlet?username=zik 200 OK 

...但在响应标签 没有servlet响应的萤火“取” 和消息是红色

所以服务器通讯良好,没有防火墙问题,响应是200 OK
但是响应体是空的。

任何想法这个红色的消息在萤火虫是什么?

非常感谢您提前。

如果任何人都可以推荐一个针对Java 一些严重的AJAX教程将不胜感激:)

回答:

你需要在你的Ajax请求使用相对域网址:

/Dinamicki1/UsernameServlet?username=zik

还是一个上下文相关的URL(假定页从/Dinamicki1供应):

UsernameServlet?username=zik

关于“Java的Ajax教程”,实际上并不是真的。这些只是两种独立的技术。不过我建议你自己开始使用jQuery(客户端)和Google Gson(服务器端)和JSON(作为客户端和服务器之间的通信语言)。

回答:

不能使用AJAX来读取其他域的答复。

您的HTML必须位于与AJAX servlet相同的服务器(以及相同的域,端口和协议)上。

回答:

在Firebug中报告的200状态并不表示跨域ajax调用的有效性,无论它是否成功。

您可能想尝试使用代理方法来执行呼叫。

E.g. JavaScript: Use a Web Proxy for Cross-Domain XMLHttpRequest Calls

回答:

我想通了如何从this site解决它:

  1. “允许通过的Apache Tomcat目录浏览更改参数‘列表’从虚假的文件的conf/web.xml中真实的。”

  2. 致电您的页面不是C:/Documents and Settings/.../page.html而是localhost:8080/your_servlet_name(页面更好地命名为index.html)。

这样,您就可以向localhost:8080/your_servlet_name/something_else发出AJAX请求。

回答:

一个适用于我的解决方案是我不得不向网址添加“www”!我正在使用URL重写,所以我有每个URL(图像,js,获取,加载,发布),我需要使用完整的url,但它缺少“www”!

回答:

对我来说,这是网络API(C#.NET)的请求,Cors未启用。 为控制器上的cors添加标题并解决了问题。

[EnableCors(origins: "*", headers: "*", methods: "*")] 

以上是 ajax问题 - 200在萤火虫中,但没有响应身体的红色信息 的全部内容, 来源链接: utcz.com/qa/260112.html

回到顶部