3

我有一个简单的网页,其中包含一个使用 jquery 通过 ajax 提交的表单。该表单在桌面浏览器上提交时可以正常工作,但在启用了“chrome 数据压缩代理”功能的移动设备上使用 Chrome 提交时,该表单会出错。

我收到以下错误消息:

此页面无法通过“chrome 数据压缩代理”加载。请尝试重新加载此页面。

在做了一些搜索之后,有一些“类似”的问题,比如这个,更值得注意的是这个,但都没有帮助我。

第二个问题应该是由“Chrome 数据压缩代理”的负责人回答的,我在第二个问题的答案中尝试了将 Cache-Control 标头设置为无转换的建议。但这并没有什么不同。

有没有人遇到过类似的问题并有解决方法?

这是我用来提交表单的代码:

$.ajax({
    type : "POST",
    url : "services/users/changePasswordUsingToken",
    data : {
        'token' : token,
        'md5pwd' : md5pwd
    },
    headers : {
        'Cache-Control': 'no-transform'
    },
    success : function(response, textStatus, xhr) {
        ...
    },
    error : function(xhr, status, error) {
        alert(xhr.responseText); //This page cannot be loaded via the "chrome data compression proxy. Try reloading this page.
    ...
});
4

2 回答 2

4

我是 Chrome 压缩代理的技术主管。

当代理由于某种原因无法访问该站点时发送此错误消息 - 例如,DNS 解析错误,或者如果该站点不在公共 Internet(例如,Intranet)上。通常,对于 GET 请求,浏览器将能够在不使用代理的情况下自动重新加载 URL,但对于 POST,这是不可能的。

您能否提供有关此站点托管位置以及它是否位于专用网络后面的更多详细信息?我已经看到了一些关于此的报告,我想提出一个通用的解决方案。谢谢。

于 2014-07-26T06:05:17.393 回答
1

我通过机器名称从移动设备访问本地服务器遇到了同样的问题,例如: http://scabbiaza.local:3000

开始使用 IP 访问并摆脱了这个问题。

于 2015-03-16T08:11:02.507 回答