我是PHP的新手,请不要将此问题标记为重复,因为我已经搜索并在stackoverflow和其他网站上找到了很多解决方案,这里是我的代码login.php我尝试做的是将一些数据传递给controller.php:
window.onload = function(){
$('#btnLogin').click(function() {
var val1 = $('#txtusername').val();
var val2 = $('#txtpassword').val();
var val3 = "login";
$.ajax({
type: 'POST',
url: 'controller.php',
data: { action: val3, username: val1, password: val2 },
success: function(response) {
alert(response);
}
});
});
}
如果我不想导航到另一个页面,那么它运作良好" index.php"因为在controller.php中,我收到了从login.php传递的所有数据,但是标题("位置:index.php")无效.Bellow是我的controller.php:
<?php
header("Location: index.php");
exit();
?>
我尝试了一些解决方案,例如:&#34;删除空格&#34;,添加&#34; error_reporting(E_ALL)&#34;和&#34; ini_set(&#39; display_errors&#39;,&#39; On&#39;)&#34;和&#34; ob_start()&#34;到controller.php文件的顶部,但没有更好的事情发生。
答案 0 :(得分:2)
你不能通过ajax请求来做到这一点。如果要在通过index.php
处理数据后导航到controller.php
,请在成功响应中使用jquery重定向。
success: function(response) {
window.location.replace("index.php");
}
答案 1 :(得分:0)
您正在进行ajax请求中的重定向。这不会重定向您的网页,它只会重定向ajax请求。而是返回一些json响应并在ajax回调中检查此响应,然后使用javascript重定向用户。