AJAX 调用在公司防火墙后失败
Posted
技术标签:
【中文标题】AJAX 调用在公司防火墙后失败【英文标题】:AJAX call failing behind corporate firewall 【发布时间】:2011-08-09 21:14:45 【问题描述】:我正在使用 jQuery 的 $.ajax() 方法来获取大约 26KB 的 JSONP 数据。
数据在我测试过的每个位置(工作、家庭、手机等)都能在 FF、Chrome、IE 和 Safari 中完美返回。
唯一的例外是我的一位客户试图从他公司的防火墙后面访问该站点。不幸的是,我无法让他向我提供响应,但我知道我的成功函数正在执行 - 所以似乎响应以某种方式被破坏了,因为任何引用返回的 JSON 的内容都未定义。
我的问题是:防火墙是否会限制 XHR 响应的长度?还有其他一些我可能遗漏的明显解释吗?
非常感谢。
更新:
对于任何偶然发现这篇文章的人...我完全忘记了 AJAX 调用是针对使用非标准端口的我的开发服务器之一。很确定这就是他的防火墙不喜欢它的原因。
感谢所有评论的人。
【问题讨论】:
你确定客户端没有使用一些非常旧的浏览器吗? 是的。他尝试使用 FF 4 和 Chrome 10。 如果你的客户有FF4,也许你可以在FireBug的控制台上给他一个快速的速成课程?以便您知道实际响应是什么。 ...或让他使用 TeamViewer 与您共享屏幕 【参考方案1】:我打算建议,除了你弄乱了 url,一些防火墙对请求有主动过滤,这可能会从你的请求中去除相关的 java 脚本调用(偏执的网络为独特的开发环境创造了条件)。
只是提醒人们,当他们的应用程序在这里工作时可能会摸不着头脑,但在公司环境中却不是。
【讨论】:
以上是关于AJAX 调用在公司防火墙后失败的主要内容,如果未能解决你的问题,请参考以下文章
安装SQL到最后一步的时候出现"对于MSSQLServer服务,服务控制操作失败:1726远程过程调用失败 "怎么解决?