【发布时间】:2013-01-17 07:24:56
【问题描述】:
这是一个非常奇怪的问题。我有一个注册表单 signup.php,它使用 jQuery validate 插件来验证它。
在过去 2 个月中,表单序列化突然失败了两次(请参见下面的代码),并且无论我在其中输入什么,都没有提交任何 input 值。奇怪的是,如果我只是重命名 signup.php 文件(例如,重命名为 signup0.php),那么表单序列化再次工作并且表单验证。我的 signup.php 文件包含在我的主 template.php 文件中,使用以下代码:
PHP
<? include $_SERVER['DOCUMENT_ROOT'] . '/application/views/forms/signup.php';?>
JS:
beforeSubmit:function(formData, $form, options)
var thisFormData = $.param(data.formData);
console.log('live data: ' + thisFormData);
//this yields no data regardless of what I enter in any of the input fields
//subsequently $($form).validate() fails
有人知道这里发生了什么吗?我还有一个 login.php 表单包含在这个 template.php 文件中,它永远不会遇到这个问题。这必须是 PHP 而不是 JS 问题,因为重命名 PHP 文件可以纠正它,对吧?我唯一能想到的是,多个隐藏的 signup.php 实例正在以某种方式创建,但这似乎是一个疯子的想法。
【问题讨论】:
-
真的很奇怪,你在两个不同的浏览器中检查过吗?也尝试清理临时文件和 cookie
-
是的,chrome 和 firefox 也有同样的问题,如何清理临时文件?
-
@timpeterson,只需清除您的浏览器历史记录(完全)。您是否在使用某种也可能缓存变量的 APC?
-
-@daniel5,我用的是memcache,但是为什么login.php和signup.php有区别呢?
-
@timpeterson 这听起来像是过分热心的缓存。检查您的网络服务器设置
标签: php javascript jquery jquery-validate ajaxform