ajax 问题 - 200 OK 在 firebug 中,但红色消息没有响应正文

2022-09-02 04:04:13

我有一个与跨域相关的小ajax问题,正如我所看到的。

在localmachine上,我用一些ajax创建了html示例:在注册文本字段中,用户键入“username”,每次击键ajax都会将其发送到本地Tomcat,其中servlet检查该用户名是否已使用并发送“taken”回复。

本地主机完全没有问题。一旦我键入使用的“用户名”servlet发送“taken”响应,浏览器就会显示它。

但是,当我在远程机器上使用ajax测试html页面(远程网络上的一些免费托管)时,该机器在我的本地主机Tomcat上发送验证请求,则建立连接,在Tomcat控制台中我看到请求即将到来,在Mozzila中的firebug中,这是控制台输出:

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

...但是在响应选项卡中没有servlet响应“已采取”,并且firebug中的消息是红色的

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

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

非常感谢你提前。

如果有人可以推荐一些严肃的javaajax教程,那么:)


答案 1

您需要在 Ajax 请求中使用相对于域的 URL:

/Dinamicki1/UsernameServlet?username=zik

或者一个上下文相关的URL(假设页面来自):/Dinamicki1

UsernameServlet?username=zik

关于“Java的Ajax教程”,从这里开始:如何使用Servlets和Ajax?


答案 2

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

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


推荐