1. 程式人生 > >jsonp 使用記錄(二)跨域設定cookie

jsonp 使用記錄(二)跨域設定cookie

html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here1</title>
<script type="text/javascript" src="jq.js"></script>
</head>
<body>
<?php echo "s";?>
<script type="text/javascript">
	jQuery(document).ready(function(){
	   $.ajax({
	        type: "get",
	        async: false,
	        url: "http://www.services.com/dadianlogin/login?username=1111&password=11111",
	        dataType: "jsonp",
	        jsonp: "callback",//傳遞給請求處理程式或頁面的,用以獲得jsonp回撥函式名的引數名(一般預設為:callback)
	        jsonpCallback:"returnjs",//自定義的jsonp回撥函式名稱,預設為jQuery自動生成的隨機函式名,也可以寫"?",jQuery會自動為你處理資料
	        crossDomain:true,
	        success: function(json){
	            alert(json.code);
	        },
	        error: function(){
	            alert('fail');
	        }
	    });
	});
</script>
</body>
</html>

接收後臺:
<?php
class dadianlogin{
	public function login(){
		$username=$_GET['username'];
		$password=$_GET['password'];

		$ticke=111111;
		header("Location:http://www.return.com/dandian/setcookie?ticke=$ticke");
	}
}

跨域後臺:
<?php
class dandian{
//return 域下會設定一個cookie
	public function setcookie(){
		$ticke=$_GET['ticke'];
		setcookie("ticke",$ticke);
		$code='yes';
		echo 'returnjs({"code":"'.$code.'"})';
		die;
	}
}

應用場景:send傳輸資料進行登入  services負責驗證使用者正確與否並生成安全票據   return 獲得票據,成功登入