使用jquery ajax表单提交Chrome数据压缩代理错误

时间:2014-06-14 04:42:23

标签: javascript jquery ajax google-chrome mobile-chrome

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

我收到以下错误消息:

  

无法通过" Chrome数据压缩代理加载此页面。尝试重新加载此页面。

在做了一些搜索之后,有一些"类似的"像this one这样的问题,更值得注意的是this one,但对我来说都没有帮助。

秒问题可以通过" Chrome数据压缩代理"我在第二个问题答案中尝试了建议,即将Cache-Control标头设置为no-transform。但这没有任何区别。

有没有人遇到类似的问题,并为此解决了这个问题?

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

$.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.
    ...
});

2 个答案:

答案 0 :(得分:4)

我是Chrome压缩代理的技术负责人。

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

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

答案 1 :(得分:1)

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

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