我的网站上有一个登录脚本,我正在做的是
1)创建登录表单
2)当用户提交登录表单时使用Ajax发布请求
3)这个Ajax请求将数据传递给一个名为ajaxhandler.php的文件(它调用各种apis,如注册,联系人,登录),并期望json回复其内容显示在底部。
4)Ajaxhandler.php根据api调用各种函数,并将json数据返回给ajaxhandler.php,后者将其写入ajax请求。
5)现在我想在成功登录时重定向用户。但是ajax请求需要json数据,如果我发送php头位置信息,则ajax请求的位置被重定向(我在一些谷歌搜索后发现)。我不想改变我的老年人设置的整个框架,所以我应该做什么(我在谷歌上找到的一个解决方案是使用document.location或window.location,但这会将我的网站的安全位置暴露给世界和不安全)那我该怎么做呢?
AjaxHandler代码 -
if (isset($_REQUEST['apiName']) && $_REQUEST['apiName'] != null) {
$apiName = $_REQUEST['apiName'];
switch ($apiName) {
case 'requestSignUp':
echo UberHealth::requestSignUp($_REQUEST['email']);
break;
case 'login':
echo UberHealth::contact($_REQUEST['email'], $_REQUEST['password']);
break;
default:
echo json_encode(array('status' => 404, 'reason' => 'Invalid api called'));
break;
}
} else {
echo json_encode(array('status' => 404, 'reason' => 'Parameters missing. Invalid request!'));
}
Uberhealth类代码 - >
class UberHealth
{
public static function login($email,$password){
// login checking code using redbeanphp which returns json status code and message but I want to send the header location information from here...
}
}