【发布时间】:2010-02-01 07:56:06
【问题描述】:
我正在尝试在视图中执行 AJAX 请求,用户提供了一些输入,这些输入使用 AJAX 发送到服务器,并且它应该使用 CodeIgniters 路由来路由它应该去的功能.
这是我提出请求时当前所处的视图。
http://localhost:8888/companies/list
在我的路由配置中,我在下面设置了这条路由来处理 AJAX 请求,它应该能够来自任何视图并且仍然能够转到我指定的路由。
$route['test_ajax'] = "ajax/test_ajax";
所以请求应该转到“ajax”-controller 并使用函数“test_ajax”,这应该使 POST-url 看起来像这样。
POST http://localhost:8888/test_ajax
但我得到的是我当前所在的 URL,而我指定的附加到 URL 的路由完全破坏了我对 AJAX 请求的响应,因为它甚至没有接近它的功能应该的。我得到的 POST-url 看起来像这样。
POST http://localhost:8888/companies/test_ajax
注意 /companies 的参数是如何被删除的。参数 /list 在某处丢失了,尽管如果我在列表后添加一个斜杠,我也会在 URL 中获得列表参数。
所以刚刚发生的事情是 POST 尝试转到公司控制器并查找在 ajax 控制器中而不是在公司控制器中定义的函数 test_ajax。无论我使用什么 URL,此错误都会不断发生,并且始终遵循相同的模式。它不断将我的路由 URL 附加到现有 URL,而不是正确路由。
那么,是什么导致路由以这种方式运行,是否有任何设置被意外启用或什么?因为我知道我已经在以前的项目中使用了数百次。
提前致谢。
【问题讨论】:
标签: ajax codeigniter routing