【发布时间】:2011-08-02 17:06:58
【问题描述】:
这个问题很可能是 codeigniter 特有的。
我有一个名为redirect.php 的控制器,它从视图重定向到视图。这个控制器大部分都有一个公共的_remap 函数,它使用一个case 语句来完成所有的重定向。一切都很好,直到我从视图发送$.POST 回控制器。我希望它点击 _remap 并查找请求来自 AJAX 的事实,然后这样做。
我正在检查一个 IS_AJAX 常量。
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
但是每当我点击该页面时,它总是重新映射到默认值并将我的请求发送到该页面,当我回显和提醒数据来回时,它基本上会将页面数据返回给我。
有什么见解吗?
供参考,
redirect.php(有更多代码来定义变量和另外 2 个案例,但没有达到这些,它达到了“索引”/默认值)
public function _remap($method)
{
switch ($method) {
case $method == 'index':
$this->load->view('main');
break;
case $method == 'IS_AJAX':
var_dump($_POST);
break;
default:
$this->load->view('main');
}
}
tweetview.php(在redirect.php中的另一种情况下由重定向控制器加载的视图,json_tweets发送是一个JSON变量)
//jquery
$.post("http://localhost/2fb/index.php/redirect", {'json_tweets': json_tweets},
function(data) {
alert(data);
});
【问题讨论】:
-
需要了解更多情况,请发布您的控制器和您正在使用的 javascript。
标签: ajax codeigniter post controller remap