如何解决"不完整的密钥更改"升级陀螺仪时出错

时间:2015-07-12 20:35:09

标签: javascript php gyroscope-framework

使用较新版本的Gyroscope替换核心文件后,使用reloadtab添加新记录会引发JavaScript警报错误"密钥更改不完整"。虽然详细视图的加载已中止,但仍会创建记录。

在clients.js中:

reloadtab('client_new', null, oclientname.value,
     'addclient&params='+params.join('&'));

在icl / addclient.inc.php中:

header('newrecid:'.$clientid);
header('newkey:client_'.$clientid);

1 个答案:

答案 0 :(得分:0)

从6.7开始,代码生成器具有以下行:

header('newparams:showclient&clientid='.$clientid);

这是支持“标签刷新”功能所必需的。双击任何活动选项卡将重新加载当前选项卡。在移动设备上,每个标签视图顶部都有一个“刷新视图”按钮。

默认情况下,当使用“addtab”打开选项卡时,该选项卡会记住“它是如何打开的”。刷新选项卡只需重放命令。

addtab('client_123', 'Client Name', 'showclient&clientid=123');

在上面的示例中,“showclient& clientid = 123”在刷新期间重复使用。

reloadtab函数主动忽略重放参数,因为该函数通常与更新数据库相关联。例如,更新或创建记录。

在到达icl / addclient.inc.php之前,前端会调用两个标签函数:

addtab('client_new','New Client','newclient');
reloadtab('client_new',null,'addclient&...');

创建记录后,如果自动增量ID为124,则tab键将升级为client_124。这是键更改,在3.2中引入为< em> rekey 选项。新标签内容实际上与showclient&amp; clientid = 124相同。但它没有注册重播参数。双击选项卡将重播“newclient”,重新打开,错误地记录表单。

为防止出现此错误,tabs.js会主动检查“newkey”标题并确保还提供“newparams”。

同样在过去,在发送服务器请求之前,标签标题在reloadtab中单独设置。现在参数可以是一个空字符串,服务器端的“newtitle”标题将更新新的标签名称。