当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《ajax问题-在萤火虫中200OK,但没有响应体的红色消息》经验,为你挑选了2个好方法。

我看到了与跨域相关的小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教程,将非常感谢:)



1> BalusC..:

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

/Dinamicki1/UsernameServlet?username=zik

或者上下文相关的URL(假设页面是从中提供的/Dinamicki1):

UsernameServlet?username=zik

关于"Ajax Java for Java",实际上并不是真的.这些只是两种不同的技术.然而,我建议你开始使用jQuery(用于客户端)和Google Gson(用于服务器端)和JSON(作为客户端和服务器之间的通信语言).


您无法触发跨域Ajax请求.当然,ajax源和目标应该在同一个域上.域相对URL是确保这一点并发现潜在错误的最简单方法.使用`java.net.URLConnection`的代理servlet确实可以解决您的问题.更好的是仍然在同一台机器上托管所有人.

2> SLaks..:

您无法使用AJAX读取其他域的回复.

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

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有