【发布时间】:2016-06-24 03:37:19
【问题描述】:
我在服务器上运行了一个 Meteor 1.2 应用程序(使用 nginx 作为代理),由于各种原因,它不支持 DDP。在这种情况下,应用程序回退到 XHR 轮询并按预期工作。我还使用环境变量 DISABLE_WEBSOCKETS=1 实时部署它以完全禁用 websockets,我可以使用 Chrome 的网络选项卡进行验证。
我收到了一些关于我无法重现的零星问题的错误报告。
看起来在某些情况下,表单提交不使用 POST,而是恢复为 GET(即,我可以在 URL 中看到所有表单数据)并且表单根本不提交。
Meteor 中的 XHR 在什么情况下可以从 POST 恢复为 GET?不幸的是,我无法重现这一点,也没有在日志中看到任何表明存在问题的内容。
【问题讨论】:
-
如何提交表单?你能分享那个代码吗?
-
你使用 jQuery 作为 xhr 吗?在这种情况下,您在用户提交表单时使用 $.post 吗?像@christianFritz,我们需要表单的html代码,以及管理提交/发布的js
-
@ChristianFritz 这是一个 MeteorJS AutoForm,就像 Meteor 一样,如果由框架本身处理,组件之间的管道。我会看看我是否可以提取任何有意义的代码。
-
@Rebolon 这是一个 Meteor 应用程序,因此由框架通过 Autoforms 提供。 IIRC,Metor 的 DDP 层建立在 WebSockets 之上;如果 WS 不可用(比如我的情况),则使用 SockJS 进行仿真。
-
1.检查 Meteor 是否仍然支持用户的浏览器(有些人只是坚持使用 IE 6)。 2. 检查是否有任何用户脚本或浏览器扩展(想想 AdBlocker)可能以任何方式破坏您的代码。
标签: meteor xmlhttprequest