Hello, I am trying to send a POST variable to the controller in PHP via AJAX:
$(".inp_pr").keypress(function(f) { if (f.which == 13) { dataString = 'qwe'; $.ajax({ type: "POST", url: "/prwrk/", data: 'dataString=' + dataString, success: function(data) { alert('<?php echo($data)?>'); } }); event.preventDefault(); } }); Controller Code:
function action_index() { $data=$_POST['dataString']; $this->view->generate('prwrk_view.php', 'template_view.php',$data); } AJAX successfully sends the variable, but it does not come to the PHP controller. There are suspicions that I do not correctly specify the Url, but even prescribing a direct path to the desired controller, the variable is not transmitted.
Router code:
<?php class Route { static function start() { $controller_name = 'Main'; $action_name = 'index'; $routes = explode('/', $_SERVER['REQUEST_URI']); if ( !empty($routes[1]) ) { $controller_name = $routes[1]; } if ( !empty($routes[2]) ) { $action_name = $routes[2]; } $model_name = 'Model_'.$controller_name; $controller_name = 'Controller_'.$controller_name; $action_name = 'action_'.$action_name; $model_file = strtolower($model_name).'.php'; $model_path = "application/models/".$model_file; if(file_exists($model_path)) { include "application/models/".$model_file; } $controller_file = strtolower($controller_name).'.php'; $controller_path = "application/controllers/".$controller_file; if(file_exists($controller_path)) { include "application/controllers/".$controller_file; } else { Route::ErrorPage404(); } $controller = new $controller_name; $action = $action_name; if(method_exists($controller, $action)) { $controller->$action(); } else { Route::ErrorPage404(); } } function ErrorPage404() { $host = 'http://'.$_SERVER['HTTP_HOST'].'/'; header('HTTP/1.1 404 Not Found'); header("Status: 404 Not Found"); header('Location:'.$host.'404'); } } ?> How to send a variable to a PHP controller from AJAX?
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $data='получено'; } else{ $data='нет'; }if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $data='получено'; } else{ $data='нет'; }if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $data='получено'; } else{ $data='нет'; }, now I always get "No" in the success alert - Ivan Ivanov