[英]Check if user is logged in from different domain
多虧了stackoverflow,我的小項目才能進行了,但是我再次需要一些建議。 我想檢查用戶是否登錄domain1.com並在domain2上返回一條消息。 代碼還有很多。 下面我提供了一個基本示例。
http://domain2.com上的 index.php
<script type="text/javascript" src="http://domain1.com/test.php?js"></script>
test.php在http://domain1.com上 。
<?php
if (isset($_GET['js'])){
header("Content-type:text/javascript");
?>
function doAjax(){
$.getJSON("http://domain1.com/index.php/home/callback.php?name=name&callback=?",
function(message) {
alert("Data Saved");
});
}
document.write('<button onclick="doAjax();">Submit</button>');
<?php } ?>
<?php exit; } ?>
callback.php在http://domain1.com上 。 這是我想檢查用戶是否登錄的地方。 如果用戶已登錄,則文件將被寫入,否則,我想向domain2.com發送消息以請求登錄。
<?php
$callback = $_GET['callback'];
$name = $_GET['name'];
$myFile = "txt/tester.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, $name);
fclose($fh);
header("Content-Type: application/javascript");
?>
<?php echo $callback; ?>("Message from the server");
這是我上一個問題得到的最后一部分。 <?php echo $callback; ?>("Message from the server");
如果這是發給domain2的消息,我怎么稱呼它?
因此,基本上,域2期望域1上的callback.php提供JSONP對象。要以JSON對象格式格式化消息,請將消息封裝在關聯數組中(例如: $msg = array('message' => 'This is the callback message');
echo $_GET['callback'].'('.json_encode($msg).')';
然后通過echo $_GET['callback'].'('.json_encode($msg).')';
將其傳遞回域2,同時,在header()
設置Content-Type
header()
聲明到application/json
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.