Ajax中header()无法跳转的解决方法

前端之家收集整理的这篇文章主要介绍了Ajax中header()无法跳转的解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在运行一个Ajax实例时,负责处理的PHP页面中的header()总是无法跳转到指定的网页,首先可能的错误

1.header("Location:xx.PHP");中Location和冒号之间不能有空格,也不能使用全角字符的冒号;

2.header()之前不能有输出的语句。

仔细看了一下,我的代码里没有这样的问题,只好求助论坛高手,后来经指导加入了以下代码就可以跳转了:

$username=$_POST['username'];
$password=$_POST['passwd'];
$host=$_SERVER['HTTP_HOST']; //加入的代码
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\'); //加入的代码
if($password=="123"){
header("Location:http://$host$uri/friendlist.PHP");
}else{
header("Location:http://$host$uri/login.PHP");
}

网上搜了一下,如果完整的URL是http://www.126.com/index.PHP

$_SERVER['HTTP_HOST']就等于"http://www.126.com"

$_SERVER['PHP_SELF']就等于"/index.PHP"

rtrim()方法从右删除字符,这里是删除了'/\\',去掉了"/index.PHP"中的"/"

dirname(path)方法返回路径中的目录部分。

问题应该出在路径上

原文链接:https://www.f2er.com/ajax/166149.html

猜你在找的Ajax相关文章