У меня есть форма, которая отправляет запрос с jquery
$("form input[type=submit]").live("click", function(event){
event.preventDefault();
//$(this).attr("disabled", "true");
var postdata = $(this).parents("form").serialize();
//console.log(data);
$.ajax({
type: "POST",
url: "../inc/process.inc.php",
data: postdata
});
});
Это приводит к тому, что пользователь не будет перенаправлен на action="inc/process.inc.php" method="post"
при нажатии кнопки отправки.
process.in.php
$host = $_SERVER["HTTP_HOST"];
$actions = array(
'user_login' => array(
'object' => 'Intro',
'method' => 'processLoginForm',
'header' => 'Location: http://'.$host.'/homepage.php'
)
);
/*
* Make sure the anti-CSRF token was passed and that the
* requested action exists in the lookup array
*/
if ( isset($actions[$_POST['action']]) )
{
$use_array = $actions[$_POST['action']];
$obj = new $use_array['object']($dbo);
if ( true === $msg=$obj->$use_array['method']() )
{
header($use_array['header']);
exit;
}
else
{
// If an error occured, output it and end execution
die ( $msg );
}
}
else
{
// Redirect to the main index if the token/action is invalid
header("http://" . $host);
exit;
}
Когда мой метод return true
, это должно вызвать перенаправление пользователя на
Location: http://'.$host.'/homepage.php
,
но вместо этого firebug
дает мне
POST <a href="http://192.168.1.133/homepage.php" rel="nofollow">http://192.168.1.133/homepage.php</a>
и возвращает содержимое страницы в firebug, а затем
GET <a href="http://192.168.1.133/homepage.php" rel="nofollow">http://192.168.1.133/homepage.php</a>
с пустым ответом