Ajax 在codeigniter/php网站上处理表单提交的良好实践

Ajax 在codeigniter/php网站上处理表单提交的良好实践,ajax,forms,codeigniter,controller,form-submit,Ajax,Forms,Codeigniter,Controller,Form Submit,我正在用codeigniter建立一个网站,我正在为用户提交创建一个表单 我正在考虑让表单通过javascript/AJAX调用提交给一个特殊的控制器,该控制器只用于处理表单提交,并根据该控制器的响应将用户重定向到适当的页面 这是个好主意吗?我想我的网站会有很多表单,所以我想一个专门的控制器来处理它们的提交是个好主意。但显然,我需要防止用户直接访问此控制器中的任何方法。确保您的表单在不使用javascript的情况下运行,然后您可以使用$this->input->is_ajax_request(

我正在用codeigniter建立一个网站,我正在为用户提交创建一个表单

我正在考虑让表单通过javascript/AJAX调用提交给一个特殊的控制器,该控制器只用于处理表单提交,并根据该控制器的响应将用户重定向到适当的页面


这是个好主意吗?我想我的网站会有很多表单,所以我想一个专门的控制器来处理它们的提交是个好主意。但显然,我需要防止用户直接访问此控制器中的任何方法。

确保您的表单在不使用javascript的情况下运行,然后您可以使用
$this->input->is_ajax_request()
检查表单是否使用ajax提交,并对输出执行不同的操作


这避免了对“仅ajax”控制器、方法和URL的需要,并将所有表单处理逻辑保持在一个位置。如果不是ajax请求,没有人能够看到输出,因此您不必担心。

谢谢@Wesley Murch,这很有帮助。我使用该测试将表单表示逻辑和常规视图逻辑保持在同一个控制器中。