0

我试图通过 jQuery .load 函数调用 Codeigniter URI,而不重建类实例。

原始的 URI 段是这样的:/culture/edit/190.

这个初始调用构建了一个表单,其中包含预加载了 ID 信息的输入。$this->editIds我将初始行 ID 存储在受保护的类变量(由

提交表单会调用类似 URI 的 URI /culture/do_edit,它会从可能更改的表单中接收发布数据,然后准备插入语句。

我需要检查 ID 以确保(如果更改)用户没有尝试复制 ID。如果将 ID 更改为唯一值(如果有的话),则记录的 ID 已更改,没有投诉;如果它根本没有改变,那么它可以轻松地继续。

问题(我认为)是该类被重新构造,并且我丢失了之前设置的变量中的原始数据,因为do_edit将变量视为空(初始构造函数状态)。

我尝试改变 ajax 方法的调用方式:

$('#message').load('/culture/do_edit', data);

这会产生 URI: /culture/do_edit,并重建类。

或者

$('#message').load('do_edit', data);

这导致了 URI /culture/edit/do_edit,它实际上传递了方法编辑参数do_edit

我想保留类实例,以便原始 ID 可用于比较。

我可以在帖子的隐藏输入中传递原始 ID,但如果可以避免的话,我宁愿不添加额外的输入。有没有一种方法可以在不爬取整个 URI 并重建的情况下调用方法?

还是我应该以不同的方式进行比较?

4

1 回答 1

0

尝试将序列化的对象存储在会话中,并在再次需要时将其反序列化。

http://php.net/manual/en/function.serialize.php

PHP 不会在每个 http 请求后为您保留可用的实例。

我建议你使用隐藏字段,让事情变得更容易。将这些序列化对象存储在会话中可能很难对您的应用程序进行故障排除。

于 2013-07-27T04:04:29.903 回答