使用ajax调用将用户重定向到不同页面的.php文件的问题

时间:2013-01-16 21:10:04

标签: java php javascript ajax ssl

嘿伙计,所以我创建了一个TOS弹出窗口,如果用户拒绝.ajax函数调用.php文件会破坏他们的会话并将其发送回登录页面。

这是受SSL锁保护的网站,因此我收到错误消息:

where the ajax function is that gets the other page with the destroy session and redirect处的页面显示the login page which is suppose to be sent to, the user.

的不安全内容

功能:

function decline(){

 $("#dialog-container").dialog( 'close' );
 /*****run ajax to kill session of current user and return to login page ******/
  $.ajax({ url: 'termsofservice/declinedkill.php',
         data: {},
         type: 'get',
         success: function(output) {
                  }
});
}

这是declinekill.php:

session_start();
session_destroy();

header("location:/PCG/mainlogin.php");

我确定我没有使用任何包含其他文件等的链接....所以不确定是什么问题。

谢谢大卫:)

编辑:

以下是我正在使用的更新链接:

$.ajax({ url: '//mysite.com/PCG/termsofservice/declinedkill.php',
         data: {},
         type: 'post',
         success: function(output) {
                  }
});

declinedkill.php

header("location:https://mysite.com/PCG/mainlogin.php");

所以现在我没有收到该消息,但我没有被重定向?

1 个答案:

答案 0 :(得分:1)

如果您的站点位于SSL上,则还需要调用该脚本的SSL URL。

所以这样:

function decline(){

 $("#dialog-container").dialog( 'close' );
 /*****run ajax to kill session of current user and return to login page ******/
  $.ajax({ url: '//yoursite.com/termsofservice/declinedkill.php',
         data: {},
         type: 'get',
         success: function(output) {
                  }
});
}

//而不是https://或http:// 它用于自动选择正确的URI方案。 它们被称为协议相对URL。 Check this link了解更多信息。