Ce problème est très probablement lié au codeigniter._remap ignorant l'appel IS_AJAX?
J'ai un contrôleur appelé redirect.php qui redirige depuis et vers les vues. Ce contrôleur a pour la plupart une fonction publique _remap
qui effectue toute la redirection avec une instruction case. Tout a fonctionné très bien jusqu'à ce que j'ai envoyé un $.POST
à partir d'une vue au contrôleur. Je veux que cela frappe le _remap et que le fait que la requête provienne d'AJAX soit le cas.
J'ai une constante IS_AJAX
que je vérifie.
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
mais chaque fois que je frappe la page, il est toujours remappant par défaut et envoyer ma demande à cette page où il me retourner essentiellement que les pages de données quand je suis en écho et alerter les données çà et là.
Des idées?
pour référence,
redirect.php (il y a plus de code pour définir des variables et 2 autres cas, mais ce n'est pas frapper ceux-ci, il est frappant 'index'/default)
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 (vue par le contrôleur chargé de redirection dans un autre cas au sein redirect.php, json_tweets envoyer est une variable JSON)
// jquery
$.post("http://localhost/2fb/index.php/redirect", {'json_tweets': json_tweets},
function(data) {
alert(data);
});
besoin de voir plus de ce qui se passe, s'il vous plaît envoyer votre contrôleur et le javascript que vous utilisez. – jondavidjohn