我看到了与跨域相关的小ajax问题.
在localmachine上我用一些ajax创建了html示例:在注册文本字段中用户类型'username',在每次击键时ajax将它发送到本地Tomcat,其中servlet检查该用户名是否已被使用并发送'take'响应.
在localhost上没问题.只要我输入'username',servlet就会发送'take'响应,浏览器会显示它.
但是,当我在远程机器(在远程网络上有一些免费托管)上放置带有ajax的测试html页面时,我会在我的localhost Tomcat上发送验证请求,建立连接,在Tomcat控制台中我看到请求即将发生,并且在Mozzila中的firebug中这是控制台输出继电器:
GET http://89.216.182.25:8080/Dinamicki1/UsernameServlet?username=zik 200 OK
...但是在响应选项卡中没有'采取'servlet响应,并且firebug中的消息是红色的
所以服务器通信良好,没有防火墙问题,响应是200 OK
但响应体是空的.
任何想法萤火虫的这些红色信息是什么?
非常感谢你提前.
如果有人可以为java推荐一些严肃的ajax教程,将非常感谢:)
您需要在Ajax请求中使用域相对URL:
/Dinamicki1/UsernameServlet?username=zik
或者上下文相关的URL(假设页面是从中提供的/Dinamicki1
):
UsernameServlet?username=zik
关于"Ajax Java for Java",实际上并不是真的.这些只是两种不同的技术.然而,我建议你开始使用jQuery(用于客户端)和Google Gson(用于服务器端)和JSON(作为客户端和服务器之间的通信语言).
您无法使用AJAX读取其他域的回复.
您的HTML必须与AJAX servlet位于同一服务器(以及相同的域,端口和协议)上.