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解决它:
“允许通过的Apache Tomcat目录浏览更改参数‘列表’从虚假的文件的conf/web.xml中真实的。”
致电您的页面不是
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